Есть ответ 👍

На языке паскаль напишите программу, решающую следующую : программе на вход подается последовательность символов, завершающаяся символом '.' (точка). идущие подряд последовательности цифр пятеричной системы счисления рассматриваются как числа. например, последовательность sdf812973j223k содержит три пятеричных числа: 12, 3 и 223. числа могут быть сколь угодно большими. знаки '+' и '-' не рассматриваются как части числа. напечатайте сумму всех таких чисел, которые не превосходят 2^19-1. можете предполагать, что сумма не превосходит 2^31-1. если чисел, удовлетворяющих условиям, в последовательности нет, сумма полагается равной - 1.

175
492
Посмотреть ответы 2

Ответы на вопрос:

Mexxfr
4,7(18 оценок)

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.
Parf21
4,7(19 оценок)

Человек: ест, пьют, думает сам и т.д. газета: можно сжечь, почитать, соорудить из нее чего-либо и т.д. бита: можно играть в бейсбол, а можно сломать человека

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS