Найти сумму всех из имеющихся в этом тексте чисел-целых, вещественных - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Дан текст, найти сумму всех из имеющихся в этом тексте чисел. Числа могут быть целыми, вещественными! Решение для целых чисел нашел и разобрался, а с вещественными разобраться не могу

Решение задачи: «Найти сумму всех из имеющихся в этом тексте чисел-целых, вещественных»

textual
Листинг программы
var
  a, t: String;
  i, w, d: Integer;
  sum, k: Real;
begin
  Write('Enter text: '); ReadLn(t);
  i:=1;
  while i<=Length(t) do begin
    a:=''; d:=0;
    while t[i] in ['0'..'9','.'] do begin
      Inc(d,Ord(t[i]='.')); if d>1 then Break;
      a:=a+t[i]; Inc(i);
    end;
    if a<>'' then begin
      Val(a,k,w); if w=0 then sum:=sum+k;
    end;
    Inc(i);
  end;
  WriteLn(sum:0:2);
  Write('Press Enter...'); ReadLn;
end.

Объяснение кода листинга программы

  1. В начале объявляются переменные: a, t (строка), i, w, d (целое число), sum (число с плавающей точкой), k (число с плавающей точкой).
  2. Затем идет запрос на ввод текста, который сохраняется в переменной t.
  3. Переменная i инициализируется значением 1.
  4. Запускается цикл while, который выполняется до тех пор, пока i меньше или равно длине строки t.
  5. Внутри цикла создаются временные переменные a и d, инициализированные пустой строкой и нулем соответственно.
  6. Запускается вложенный цикл while, который выполняется для каждого символа в строке t.
  7. Внутри этого цикла проверяется, является ли текущий символ цифрой или точкой. Если это цифра, то увеличивается значение переменной d на единицу за каждый символ. Если это точка, то проверяется, превышает ли значение переменной d единицу. Если да, то цикл прерывается с помощью команды Break.
  8. Если после окончания вложенного цикла переменная a не пустая, то преобразуется в число с плавающей точкой, а затем добавляется к сумме.
  9. После окончания внешнего цикла переменная i инкрементируется.
  10. Выводится значение суммы.
  11. Выводится сообщение для нажатия клавиши Enter.
  12. Запускается еще один цикл while, который выполняется до тех пор, пока пользователь не нажмет клавишу Enter.
  13. После окончания цикла выводится значение суммы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы