Program ToDec;
Uses crt;
var s:string;
n,l,i:integer;
function Pow(x,y:integer):integer;
begin
if y>0 then Pow:=Pow(x,y-1)*x
else Pow:=1;
end;
function ToDec(A : string) : integer;
var L : Byte;
begin
if A = '' then ToDec := 0
else begin
L := length(A);
case A[1] of
'0' : ToDec := ToDec(Copy(A, 2, L - 1));
'1' : ToDec := Pow(2, L - 1) + ToDec(Copy(A, 2, L - 1));
end;
end;
end;
begin
clrscr;
write('Введите двоичное число: ');
readln(s);
writeln('Это число в десятичной системе : ', ToDec(S));
readkey;
end.
Program ToDec;
Uses crt;
var s:string;
n,l,i:integer;
function Pow(x,y:integer):integer;
begin
if y>0 then Pow:=Pow(x,y-1)*x
else Pow:=1;
end;
function ToDec(A : string) : integer;
var L : Byte;
begin
if A = '' then ToDec := 0
else begin
L := length(A);
case A[1] of
'0' : ToDec := ToDec(Copy(A, 2, L - 1));
'1' : ToDec := Pow(2, L - 1) + ToDec(Copy(A, 2, L - 1));
end;
end;
end;
begin
clrscr;
write('Введите двоичное число: ');
readln(s);
writeln('Это число в десятичной системе : ', ToDec(S));
readkey;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Pascal abc! решите! заменить группы подряд идущих нулей на один нуль.
begin
var s:=ReadlnString('>');
Writeln(RegEx.Replace(s,'0{2,}','0'))
end.
Тестовое решение
> 100x100=10000; 10км=10х1000=10000(м)
10x10=10; 10км=10х10=10(м)