Задание 1)
Program Task_1;
var
a, b, c, d: integer;
begin
writeln('Напишите значение числителя первой дроби:');
readln(a);
writeln('Напишите значение знаменателя первой дроби:');
readln(b);
writeln('Напишите значение числителя второй дроби:');
readln(c);
writeln('Напишите значение знаменателя второй дроби:');
readln(d);
writeln('Сложение двух данных дробей равно: ', (a/b)+(c/d));
end.
Задание 2)
Program Task_2;
var
x,y: integer;
begin
writeln('Введите значение переменной x:');
readln(x);
writeln('y=(1-x^2+5x^4)^2, y = ', sqr(1-x*x+5*sqr(x*x)));
end.
Задание 3)
Program Task_3;
var
x,y: real;
begin
writeln('Введите значение переменной x:');
readln(x);
y:= x*x*x*x*x*x*x*x*x*x;
y:= exp(ln(x)*10);
end.
а) перевести степень в двоичную систему счисления и отбросить самую левую единичку, получая битовую шкалу m.
45₁₀ = 101101₂, отбрасываем левую единицу, m=01101
б) положить результат R равным квадрату основания степени х: R=x²
в) если значение самого левого бита равно 1, домножить R на х. У нас 0.
Далее для каждого последующего бита в порядке слева направо выполнять:
г) Возвести R в квадрат. Если бит единичный, домножить R на х.
В нашем случае:
R=R²x;
R=R²x
R=R²
R=R²x
Окончательно для x⁴⁵: R=x²; R=R²x; R=R²x; R=R²; R=R²x
x²¹) 21₁₀ = 10101₂ ⇒ 0101; R=x²; R=R²x; R=R²; R=R²x
x¹⁷) 17₁₀ = 10001₂ ⇒ 0001; R=x²; R=R²; R=R²; R=R²x
x¹¹) 11₁₀ = 1011₂ ⇒ 011; R=x²; R=R²x; R=R²x