Составить программу для перевода натуральных чисел из системы счисления с основанием 2 в десятеричную систему счисления и обратно. Программа должна быть выполнена:1) без использования циклов 2) с использованием циклов — Pascal(Паскаль)

{ Составить программу перевода десятичного числа в двоичное }
uses crt;
var a : longint;
function DEC_BIN(x:longint):string;
const digits:array [0..1] of char = ('0','1');
var res:string; d:0..1;
begin
   res:='';
   while (x<>0) do begin
      d:=x mod 2; res:=digits[d]+res;
      x:=x div 2;
   end;
   DEC_BIN:=res;
end;

begin { основная программа }
  clrscr;
  write('Введите десятичное число а= ');
  readln( a );
  writeln( DEC_BIN(a) );
  readln
end.

{ Составить программу перевода двоичного числа в десятичное }
uses crt;
var a : string;
function BIN_DEC(x:string):longint;
const digits:array [0..1] of char = ('0','1');
var res,ves:longint; i,j:byte;
begin
   res:=0; ves:=1;
   for i:=length(x) downto 1 do begin
      j:=0;
      while (digits[j]<>x[i]) do inc(j);
      res:=res+ves*j;
      ves:=ves*2;
   end;
   BIN_DEC:=res;
end;

begin { основная программа }
  write('Введите бинарное число а= ');
  readln( a );
  writeln( BIN_DEC(a) );
  readln
end.

Leave a Comment

62 + = 69