Для того, чтобы перевести число из десятичной системы в двоичную, нужно делить число на 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₂
const
n=15;
var
a:array[1..n] of integer;
i,s:integer;
begin
Randomize;
Writeln('Исходный массив');
for i:=1 to n do begin
a[i]:=Random(51)-20;
Write(a[i],' ')
end;
Writeln;
s:=0;
for i:=1 to n do
if a[i]>a[5] then s:=s+a[i];
Writeln('Сумма искомых элементов равна ',s)
end.
Тестовое решение:
Исходный массив
-10 0 -10 -13 11 7 13 7 -2 -11 12 19 -20 10 -3
Сумма искомых элементов равна 44