8 = 1000₂
Раздели на 2, раздели на 2, раздели на 2, вычти 1.
9 = 1001₂
Вычти 1, раздели на 2, раздели на 2, раздели на 2, вычти 1.
15 = 1111₂
Вычти 1, раздели на 2, вычти 1, раздели на 2, вычти 1, раздели на 2, вычти 1.
16 = 10000₂
Раздели на 2, раздели на 2, раздели на 2, раздели на 2, вычти 1.
Второе задание не понял. Говорится, что на вход подаются три двузначных числа, потом считаются суммы старших и младших разрядов заданных трехзначных чисел. В первом пункте вычисляются два числа, а во втором говорится о полученных трех числах.
uses math; //подключаем математический модуль, возможно с модулем я ошибся
var // объявляем локальные переменные для программы
a , b, h : Real; //указывает дробный тип числа
function calculate_f( x: Real) : Real; //объявляем функцию в теле программы
begin
calculate_f := 1/2*sin(x/4+1) ; //записываем результат вычисления в функцию
end;
Begin
a := -0.99; //определяем
b := 50.0; //вводные
h := 0.1; //значения
while a < b do begin //пока "a" меньше "b"
writeln("F(", a, ') = ', calculate_f(a)); //выводим результат вычислений в строку
a := a + h; //прибавляем шаг "h"
end;
end.
Я могу и ошибиться, потому что писал на Паскале оочень давно :D
Поэтому Вам прийдется поправить некоторые ошибки в коде.