Дана последовательность целых чисел. С помощью функции обеспечить запись этой последовательности в двоичной или восьмеричных системах счисления по запросу — Pascal(Паскаль)

uses crt;
const
nmax=20;
zn:string[9]='01234567';
function Convert(a:longint;base:byte):string;
var s:string;
begin
s:='';
repeat
s:=zn[(a mod base)+1]+s;
a:=a div base;
until a=0;
Convert:=s;
end;
var dec:array[1..nmax] of longint;
    s_2_8:array[1..nmax] of string;
    n,i,osn:byte;
begin
clrscr;
repeat
write('Введите размер последовательности от 1 до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Введите последовательность:');
for i:=1 to n do
readln(dec[i]);
repeat
write('Выберите СС для перевода 2 или 8 osn=');
readln(osn);
until osn in [2,8];
case osn of
2:begin
  writeln('Последовательность в СС 2:');
  for i:=1 to n do
   begin
    s_2_8[i]:=Convert(dec[i],2);
    writeln(s_2_8[i]);
   end;
  end;
8:begin
  writeln('Последовательность в СС 8:');
  for i:=1 to n do
   begin
    s_2_8[i]:=Convert(dec[i],8);
    writeln(s_2_8[i]);
   end;
  end;
end;
readln
end.

Leave a Comment

64 + = 69