Ответы на вопрос:
function decbin(n: int64): int64;
var k,m: int64;
priz: boolean;
begin
k: =1; m: =0;
priz: =true;
repeat
if (n mod 10)> 1 then
begin
writeln('недопустимый ввод - цифра ',n mod 10);
priz: =false;
break;
end;
m: =m+k*(n mod 10);
n: =n div 10;
k: =k*2;
until n=0;
if priz then decbin: =m
else decbin: =-1;
end;
// основная программа
var n,k: int64;
begin
repeat
readln(n);
if n=0 then break
else
begin
k: =decbin(n);
if k> 0 then writeln('десятичное число: ',k);
end;
until false;
end.
1011100011210
недопустимый ввод - цифра 2
11101101
десятичное число: 237
11111111
десятичное число: 255
0
Популярно: Информатика
-
LlesyaLis30.04.2020 07:04
-
ананастенька2100010.04.2023 20:04
-
маша305429.05.2020 21:46
-
lag22811.06.2022 11:01
-
gunggunggung28.03.2023 00:04
-
Sofia123456789120.04.2021 20:25
-
dasharuu14.03.2023 05:42
-
platymax17.08.2020 15:22
-
alenka19991807.09.2022 11:51
-
tivvyvvyyvyva27.06.2023 11:06