Для того, чтобы перевести число из десятичной системы в двоичную, нужно делить число на 2 и записывать остаток:
а. 89 ÷ 2 = 44, остаток 1;
44 ÷ 2 = 22, остаток 0;
22 ÷ 2 = 11, остаток 0;
11 ÷ 2 = 5, остаток 1;
5 ÷ 2 = 2, остаток 1;
2 ÷ 2 = 1, остаток 0;
1 ÷ 2 = 0, остаток 1
Запишем остатки от деления в обратном порядке: 1011001.
89₁₀ = 1011001₂
По такой же аналогии переведём остальные числа:
б. 600 ÷ 2 = 300, остаток 0;
300 ÷ 2 = 150, остаток 0;
150 ÷ 2 = 75, остаток 0;
75 ÷ 2 = 37, остаток 1;
37 ÷ 2 = 18, остаток 1;
18 ÷ 2 = 9, остаток 0;
9 ÷ 2 = 4, остаток 1;
4 ÷ 2 = 2, остаток 0;
2 ÷ 2 = 1, остаток 0;
1 ÷ 2 = 0, остаток 1;
600₁₀ = 1001011000₂
в. 2010 ÷ 2 = 1005, остаток 0;
1005 ÷ 2 = 502, остаток 1;
502 ÷ 2 = 251, остаток 0;
251 ÷ 2 = 125, остаток 1;
125 ÷ 2 = 62, остаток 1;
62 ÷ 2 = 31, остаток 0;
31 ÷ 2 = 15, остаток 1;
15 ÷ 2 = 7, остаток 1;
7 ÷ 2 = 3, остаток 1;
3 ÷ 2 = 1, остаток 1;
1 ÷ 2 = 1, остаток 1;
2010₁₀ = 11111011010₂
Program output1;
var M:array [1..100] of integer; {ввод целочисленной переменной M, связанная с массивом}
n,i:integer; {ввод целочисленных переменных n,i}
begin
write('Введите количество элементов массива: '); {ввод кол-ва элементов массива}
readln(n);
for i:=1 to n do {начало цикла for с шагом = 1}
readln(M[i]); {считывание переменной M[i]}
writeln('Введённый массив: '); {вывод массива M[i] на печать}
for i:=1 to n do
writeln(M[i]);
end.
<u />var s,n:integer;
begin
s:=2;
readln(n);
repeat
s:=s*3;
n:=n-1;
until n=1;
writeln(s);
<span>end.</span>
//Pascal ABC.NET v3.0 сборка 1111
var
a:integer;
begin
a:=0;
while a<>20 do
begin;
a:=a+2;
write(a:4);
end;
<span>end.</span>
А) 247 "5"
Выполним несколько первых шагов алгоритма:
1 "2", 244 "5"
2 "2", 241 "5"
3 "2", 238 "5"
239 "5"
1 "2", 236 "5"
2 "2", 233 "5"
3 "2", 230 "5"
231 "5"
Очевидно, что из 231 "5" получим в конце концов 7 "5"
(231-8*28=231-224=7):
7 "5"
А далее:
1 "2", 4 "5"
2 "2", 1 "5"
Таким образом, из 247 "5" получится строка "225"
Б) Рассуждая аналогичным образом, из 247 "2" получим строку "552"