Для перевода из 2ой в 8ую необходимо разбить число с конца на триады(три цифры). Получается:
11011101000(2) = 011 011 101 000
*В начале добавляется ничего не значащий нуль, чтобы образовать триаду
011(2) = 3(8)
101(2) = 5(8)
значит ответ: 3350(8)
Аналигочная ситуация с 16ой. Но здесь разбиваете на тетрады(4 цифры). Получается:
11011101000(2) = 0110 1110 1000 (здесь тоже в начале добавляется ничего не значащий нуль, чтобы образовать тетраду)
0110(2) = 6(16)
1110(2) = E(16)
1000(2) = 8(16)
значит ответ: 6Е8(16)
1.
const n=5;
var a:array [1..n] of integer;
i:integer;
begin
write(' Исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i]:3,' ');
if a[i] mod 2 = 0 then a[i]:=a[i]-3
end;
writeln;
write('Преобразованный массив: ');
for i:=1 to n do write(a[i]:3,' ')
end.
2.
const n=8;
var a:array [1..n] of integer;
i,s:integer;
begin
write('Массив: ');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i]:3,' ');
s:=s + a[i]
end;
writeln;
write('Сумма всех элементов массива: ',s)
end.
3.
const n=7;
var a:array [1..n] of integer;
i,p:integer;
begin
p:=1;
write('Массив: ');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i]:3,' ');
if a[i] > 0 then p:=p * a[i]
end;
writeln;
write('Произведение положительных элементов массива: ',p)
end.
const N = 10;
var
a: array[1..N] of integer;
i: byte;
b: integer;
begin
for i:=1 to N do
read(a[i]);
for i:=1 to N div 2 do begin
b := a[i];
a[i] := a[N-i+1];
a[N-i+1] := b;
end;
for i:=1 to N do
write(a[i],' ');
writeln;
end.
Объяснение: