Написать программу, использующую подпрограмму для преобразования введенного с клавиатуры двоичного числа в десятичное. Двоичное число записать в строку — Pascal(Паскаль)

uses crt;
function BinToDec(x:string):longint;
var ves,res:longint;
    i,j:byte;
begin
res:=0;
for i:=length(x) downto 1 do
 begin
  if x[i]='1' then
   begin
    ves:=1;
    for j:=1 to length(x)-i do ves:=ves*2;
   end
  else ves:=0;
  res:=res+ves;
 end;
BinToDec:=res;
end;
var s:string;
    n:longint;
    i,k:byte;
begin
clrscr;
repeat
k:=0;
writeln('Введите число в СС 2:');
readln(s);
for i:=1 to length(s) do
if not(s[i] in ['0','1']) then
 begin
  k:=1;
  break;
 end;
if k=1 then writeln('Число введено неверно, повторите ввод.');
until k=0;
n:=BinToDec(s);
write('Число в СС 10=',n);
readln
end.

Leave a Comment

55 − = 48