Написать функцию, которая переводит из дваичной системы в 10 пока пользователь не введёт 0.pascal
Ответы на вопрос:
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
function bintodec(s: string): integer;
var a,d,i: integer;
begin
a: =0;
d: =1;
for i: =length(s) downto 1 do
begin
if s[i]='1' then a: =a+d;
d: =2*d;
end;
bintodec: =a;
end;
var dv: string; fl: boolean; i: integer;
begin
write('введите двоичное число: ');
readln(dv);
while dv< > '0' do
begin
fl: =true;
for i: =1 to length(dv) do
fl: =fl and (dv[i] in ['0','1']);
if fl then writeln(dv,'(2) = ',bintodec(dv),'(10)')
else writeln('ошибка ввода');
write('введите двоичное число: ');
readln(dv);
end;
end.
пример:
введите двоичное число: 123
ошибка ввода
введите двоичное число: 10101
10101(2) = 21(10)
введите двоичное число: 0
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
андрей204801.10.2020 23:04
-
Ariunkh12.05.2020 23:44
-
nikakim0302.02.2020 12:42
-
katasinicina3925.01.2023 22:42
-
IDontKnow4607.02.2020 06:10
-
omsbksrj30.05.2023 23:01
-
enikandrova0408.02.2021 11:55
-
kati80071302.06.2023 08:50
-
ррр32218.04.2020 19:35
-
fil3853tima05.10.2021 16:07
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.