Всё просто каждое получившаеся число поделите на 2. А потом в конце с конча до начала запишите числа. Напиример:110:2 равно55 также 55 делим на 2 и так до конца пока не получится 0 а потом с конца до начала запишите остатки!
Во первых ошибка во фрагменте там должны быть цыфирки 1, а не буква l
т.е for n:=1 to 6 do
for m:=1 to 5 do begin
Текст программы
Uses crt;
var c:array[1..6,1..5] of integer;
n,m:integer;
begin
с[4,3]:=10;
for n:=1 to 6 do
for m:=1 to 5 do begin
с[n,m]:=с[n,m]+(2*n-m);
if (m=5)then
writeln(c[n,m])
else write(c[n,m],' ');
end;
writeln;writeln;
write('C[4,3]=',C[4,3]);
readkey;
end.
Прогоночный вывод
1 0 -1 -2 -3
3 2 1 0 -1
5 4 3 2 1
7 6 15 4 3
9 8 7 6 5
11 10 9 8 7
Отсюда получаем что если с[4,3]:=10 перед началом цикла то с[4,3]=15
в противном случае с[4,3]=5
первая
var
a : longint := 2;
begin
write('первые 16 степеней числа ', 2,' : ');
for var i := 1 to 16 do begin
a *= 2;
write(a, ' ');
end;
end.
втрая
var
a, p, o, n : integer;
begin
write('введите 10 чисел : ');
for var i := 1 to 10 do begin
read(a);
if a < 0 then o += 1 else if a > 0 then p += 1 else n += 1;
end;
writeln('положительных = ', p);
writeln('отрицательных = ', o);
writeln('нулю = ', n);
end.
третья
var
n, s : integer;
begin
write('введите n=');
readln(n);
for var i := 1 to n do s += i;
writeln('сумма чисел s=', s);
end.
64=2^6 --> 6 бит информации несёт сообщение о номере каждой полки, в том числе и №8.
ответ : 6 бит
010000001000000011010111000010 000100101100000001000100010001010110000000010 100010010110000000110010100101000100100010111