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.