Перевод чисел из двоичной системы счисления в восьмеричную. Для записи двоичных чисел используются две цифры, то есть в каждом разряде числа возможны 2 варианта записи. Решаем показательное уравнение: 2 = 2i . Так как 2 = 21, то i = 1 бит. Каждый разряд двоичного числа содержит 1 бит информации. Для записи восьмеричных чисел используются восемь цифр, то есть в каждом разряде числа возможны 8 вариантов записи. Решаем показательное уравнение: 8 = 2i . Так как 8 = 23, то i = 3 бита. Каждый разряд восьмеричного числа содержит 3 бита информации. Таким образом, для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней, левой, группе окажется меньше трех цифр, то необходимо ее дополнить слева нулями. Переведем таким двоичное число 1010012 в восьмеричное: 101 0012 => 1 × 22 + 0 × 21 + 1 × 20 0 × 22 + 0 × 21 + 1 × 20 => 518.
Program rand_max; const size=8; var main_mas: array [1..size] of integer; i,nchet,proizv:integer; begin nchet:=0; proizv:=1; randomize; writeln('Исходный массив:'); for i:=1 to size do begin main_mas[i]:=random(11); write(' ',main_mas[i],' '); if (Odd(main_mas[i])) then begin inc(nchet); proizv:=proizv*main_mas[i]; end; end; writeln; writeln('Кол-во нечетных: ',nchet); writeln('Произведениче нечетных = ',proizv); end.
const
size=8;
var
main_mas: array [1..size] of integer;
i,nchet,proizv:integer;
begin
nchet:=0;
proizv:=1;
randomize;
writeln('Исходный массив:');
for i:=1 to size do begin
main_mas[i]:=random(11);
write(' ',main_mas[i],' ');
if (Odd(main_mas[i])) then
begin
inc(nchet);
proizv:=proizv*main_mas[i];
end;
end;
writeln;
writeln('Кол-во нечетных: ',nchet);
writeln('Произведениче нечетных = ',proizv);
end.