1. Немного теории Чтобы сравнить числа в разных системах счисления, нужно привести их к какой-нибудь одной. У нас системы счисления 2, 10, 8=2³, 16=2⁴. Числа в системах по основанию 2ⁿ всегда проще всего сводить к системе счисления по основанию 2, поскольку при этом каждый исходный разряд числа заменяется n двоичными разрядами. Т.е. перевод 8⇒2 сведется к замене каждой цифры тремя двоичными разрядами, а 16⇒2 - четырьмя. И единственной "неудобной" операцией у нас будет перевод 101₁₀⇒Х₂ 2. Собственно решение 21₈ = 10 001₂ = 10001₂ 12₁₆ = 1 0010₂ = 10010₂
1)Составьте программу, которая находит большее из двух введенных с клавиатуры чисел a, b и выводит его на экран. Числа 7 и 9 var a,b : integer; begin write('Enter a: '); read(a); write('Enter b: '); read(b); if a>b then writeln(a) else writeln(b); end. 2) Составьте программу, которая находит меньшее из трёх введенных чисел a, b, c и выводит его на экран. Числа 10, 4 и 9 var a,b,c : integer; begin write('Enter a: '); read(a); write('Enter b: '); read(b); write('Enter c: '); read(c); if (a<b) and (b<c) then writeln(a); if (b<c) and (c<a) then writeln(b) else writeln(c); end. 3) Составьте программу определяющую, является ли введенное с клавиатуры целое число кратным 3. var a: integer; begin write('Enter a: '); read(a); if (a mod 3) = 0 then writeln('Кратно') else writeln('Не кратно'); end.
Чтобы сравнить числа в разных системах счисления, нужно привести их к какой-нибудь одной. У нас системы счисления 2, 10, 8=2³, 16=2⁴.
Числа в системах по основанию 2ⁿ всегда проще всего сводить к системе счисления по основанию 2, поскольку при этом каждый исходный разряд числа заменяется n двоичными разрядами. Т.е. перевод 8⇒2 сведется к замене каждой цифры тремя двоичными разрядами, а 16⇒2 - четырьмя.
И единственной "неудобной" операцией у нас будет перевод 101₁₀⇒Х₂
2. Собственно решение
21₈ = 10 001₂ = 10001₂
12₁₆ = 1 0010₂ = 10010₂
101/2 = 50, остаток 1
50/2 = 25, остаток 0
25/2 = 12, остаток 1
12/2 = 6, остаток 0
6/2 = 3, остаток 0
3/2 = 1, остаток 1
1/2 = 0, остаток 1
Выписываем остатки в обратном порядке, получая 101₁₀=1100101₂
Располагаем числа по убыванию:
1100101, 10010, 10001, 11
ответ: 101₁₀, 12₁₆, 21₈, 11₂
клавиатуры чисел a, b и выводит его на экран. Числа 7 и 9
var a,b : integer;
begin
write('Enter a: ');
read(a);
write('Enter b: ');
read(b);
if a>b then writeln(a)
else writeln(b);
end.
2) Составьте программу, которая находит меньшее из трёх введенных
чисел a, b, c и выводит его на экран. Числа 10, 4 и 9
var a,b,c : integer;
begin
write('Enter a: ');
read(a);
write('Enter b: ');
read(b);
write('Enter c: ');
read(c);
if (a<b) and (b<c) then writeln(a);
if (b<c) and (c<a) then writeln(b)
else writeln(c);
end.
3) Составьте программу определяющую, является ли введенное с
клавиатуры целое число кратным 3.
var a: integer;
begin
write('Enter a: ');
read(a);
if (a mod 3) = 0 then writeln('Кратно')
else writeln('Не кратно');
end.