На языке паскаль напишите программу, решающую следующую : программе на вход подается последовательность символов, завершающаяся символом '.' (точка). идущие подряд последовательности цифр пятеричной системы счисления рассматриваются как числа. например, последовательность sdf812973j223k содержит три пятеричных числа: 12, 3 и 223. числа могут быть сколь угодно большими. знаки '+' и '-' не рассматриваются как части числа. напечатайте сумму всех таких чисел, которые не превосходят 2^19-1. можете предполагать, что сумма не превосходит 2^31-1. если чисел, удовлетворяющих условиям, в последовательности нет, сумма полагается равной - 1.
175
492
Ответы на вопрос:
1. современное решение // pascalabc.net 3.2, сборка 1488 от 21.06.2017 // внимание! если программа не работает, обновите версию! function from5to10(self: sequence of string): sequence of integer; extensionmethod; // перевод последовательности заданных на строках пятиричных чисел // в последовательность целых десятичных чисел begin foreach var s in self do begin var r: =0; var pa: =1; foreach var c in s.reverse do begin r+=c.todigit*pa; pa*=5 end; yield r end end; begin var s: =readlnstring('введите строку: ').matchvalues('[0-4]+').from5to10; if s.count=0 then writeln('s=-1') else writeln('s=',s.sum) end. пример введите строку: sdf812973j223k s=73 2. решение на turbopascal ("так писали наши отцы и деды в 1983 году, так и нас сейчас учат в школе") uses crt; function from5to10(n: string): integer; { перевод из пятиричного числа в строковом представлении в целое десятичное } var i,pa,s: integer; begin s: =0; pa: =1; for i: =length(n) downto 1 do begin s: =s+pa*(ord(n[i])-ord('0')); pa: =pa*5 end; from5to10: =s end; var s,w: string; i,k,r: integer; begin clrscr; write('введите строку: '); readln(s); w: =''; r: =0; k: =0; for i: =1 to length(s) do begin if pos(s[i],'01234')> 0 then begin if w='' then k: =k+1; w: =w+s[i] end else if w< > '' then begin r: =r+from5to10(w); w: ='' end end; if k=0 then writeln('s=-1') else writeln('s=',r); readkey end.
Человек: ест, пьют, думает сам и т.д. газета: можно сжечь, почитать, соорудить из нее чего-либо и т.д. бита: можно играть в бейсбол, а можно сломать человека
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Stellamaric31.08.2022 07:24
-
omarova424.06.2022 01:14
-
Ididhhxj07.09.2022 12:00
-
handball23091214.08.2020 20:17
-
kshig04.01.2020 15:16
-
маринка15006.05.2023 19:06
-
Marina2001260829.04.2023 10:55
-
НастяФем09.03.2021 01:24
-
pavelivanov199ozg2xn17.05.2022 07:47
-
Кеса118823.03.2023 12:22
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.