Найти сумму всех из имеющихся в этом тексте чисел-целых, вещественных - 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.
Объяснение кода листинга программы
- В начале объявляются переменные: a, t (строка), i, w, d (целое число), sum (число с плавающей точкой), k (число с плавающей точкой).
- Затем идет запрос на ввод текста, который сохраняется в переменной t.
- Переменная i инициализируется значением 1.
- Запускается цикл while, который выполняется до тех пор, пока i меньше или равно длине строки t.
- Внутри цикла создаются временные переменные a и d, инициализированные пустой строкой и нулем соответственно.
- Запускается вложенный цикл while, который выполняется для каждого символа в строке t.
- Внутри этого цикла проверяется, является ли текущий символ цифрой или точкой. Если это цифра, то увеличивается значение переменной d на единицу за каждый символ. Если это точка, то проверяется, превышает ли значение переменной d единицу. Если да, то цикл прерывается с помощью команды Break.
- Если после окончания вложенного цикла переменная a не пустая, то преобразуется в число с плавающей точкой, а затем добавляется к сумме.
- После окончания внешнего цикла переменная i инкрементируется.
- Выводится значение суммы.
- Выводится сообщение для нажатия клавиши Enter.
- Запускается еще один цикл while, который выполняется до тех пор, пока пользователь не нажмет клавишу Enter.
- После окончания цикла выводится значение суммы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д