Var x,y,z,Ans:integer; u:real; Begin Write('Введите числа x,y,z: '); Readln(x,y,z); Writeln('Что вычислить из числа ',x,' ?'); Writeln('1 - sin; 2 - cos; 3 - tg;'); Readln(Ans); case Ans of 1: begin u:=sin(x); Writeln('sin(',x,') = ',u) end; 2: begin u:=cos(x); Writeln('cos(',x,') = ',u) end; 3: begin u:=tan(x); Writeln('tg(',x,') = ',u) end; else Writeln('Ошибка!') end; Writeln('Найти максимальное число из ряда ',u,', ',y,', ',z); Writeln('Без модуля - 1; по модулю - 2'); Readln(Ans); case Ans of 1: begin if (u>y) and (u>z) then Writeln('Максимальное число - ',u) else if (y>u) and (y>z) then Writeln('Максимальное число - ',y) else if (z>u) and (z>y) then Writeln('Максимальное число - ',z) else Writeln('Все числа равны.') end; 2: begin if (abs(u)>abs(y)) and (abs(u)>abs(z)) then Writeln('Максимальное число - ',u) else if (abs(y)>abs(u)) and (abs(y)>abs(z)) then Writeln('Максимальное число - ',y) else if (abs(z)>abs(u)) and (abs(z)>abs(y)) then Writeln('Максимальное число - ',z) else Writeln('Все числа равны.') end end End.
1) выписываем остатки (те что в скобках 1 или 0 с последнего числа полученного при делении )
104 / 2 = 52 остаток (0)
52 / 2 = 26 остаток (0)
26 / 2 = 13 остаток (0)
13 / 2 = 6 остаток (1)
6 / 2 = 3 остаток (0)
3 / 2 = 1 (<== начинаем выписывать с этого числа) остаток (1) <= следующее
ответ: 1101000
2)
510 / 2 = 255 остаток (0)
255 / 2 = 127 остаток (1)
127 / 2 = 63 остаток (1)
63 / 2 = 31 остаток (1)
31 / 2 = 15 остаток (1)
15 / 2 = 7 остаток (1)
7 / 2 = 3 остаток (1)
3 / 2 = 1(<== первое число) остаток (1)
ответ : 111111110
3)
634 / 2 = 317 остаток (0)
317 / 2 = 158 остаток (1)
158 / 2 = 79 остаток (0)
79 / 2 = 39 остаток (1)
39 / 2 = 19 остаток (1)
19 / 2 = 9 остаток (1)
9 / 2 = 4 остаток (1)
4 / 2 = 2 остаток (0)
2/ 2 = 1 (<== первое число)остаток (1)
ответ : 1101111010
4) число 731 попробуйте сделать сами для понимания
II)
1)
10111 нумеруем все цифры с права налево (первый номер-0)
1(4) 0(3) 1(2) 1(1) 1(0)
далее схема такая 1*2 в четвёртой степени(4) + 0 * 2 в третьей(3)+1*2 во второй(2) + 1*2 в первой(1) +1*2 в нулевой (0)
и так мы получаем 16+0+4+2+1=23
2) 110011 нумеруем 1(5) 1(4) 0(3) 0(2) 1(1) 1(0)
1*2 в пятой +1*2 в четвёртой +1*0 в третьей +1*0 во второй +1*2 первой +1*2 в нулевой=32+16+0+0+2+1=51
два других сделайте сами для тренировки
u:real;
Begin
Write('Введите числа x,y,z: ');
Readln(x,y,z);
Writeln('Что вычислить из числа ',x,' ?');
Writeln('1 - sin; 2 - cos; 3 - tg;');
Readln(Ans);
case Ans of
1: begin u:=sin(x); Writeln('sin(',x,') = ',u) end;
2: begin u:=cos(x); Writeln('cos(',x,') = ',u) end;
3: begin u:=tan(x); Writeln('tg(',x,') = ',u) end;
else Writeln('Ошибка!') end;
Writeln('Найти максимальное число из ряда ',u,', ',y,', ',z);
Writeln('Без модуля - 1; по модулю - 2');
Readln(Ans);
case Ans of
1: begin
if (u>y) and (u>z) then
Writeln('Максимальное число - ',u)
else
if (y>u) and (y>z) then Writeln('Максимальное число - ',y)
else
if (z>u) and (z>y) then Writeln('Максимальное число - ',z)
else
Writeln('Все числа равны.')
end;
2: begin
if (abs(u)>abs(y)) and (abs(u)>abs(z)) then
Writeln('Максимальное число - ',u)
else
if (abs(y)>abs(u)) and (abs(y)>abs(z)) then
Writeln('Максимальное число - ',y)
else
if (abs(z)>abs(u)) and (abs(z)>abs(y)) then
Writeln('Максимальное число - ',z)
else Writeln('Все числа равны.')
end
end
End.
*.pas прикрепил во вложения