Подсчитать сумму всех цифр в строке - Pascal
Формулировка задачи:
дана строка символов состоящая из букв и цифр. подсчитать сумму всех цифр в строке
Решение задачи: «Подсчитать сумму всех цифр в строке»
textual
Листинг программы
program sd; uses crt; var s:string; i,k,code,sum:integer; Begin sum:=0; writeln('s: ');readln(s); for i:=1 to length(s) do begin val(s[i],k,code); if code=0 then sum:=sum+k; end; if sum=0 then writeln('В строке нет цифр') else writeln('Summa= ',sum); End.
Объяснение кода листинга программы
- Объявляются переменные:
s
- строковая переменная, в которую будет сохраняться введенная пользователем строка.i
- целочисленная переменная, используемая в цикле для обхода всех символов в строке.k
- целочисленная переменная, в которую будет временно сохраняться цифра из строки для последующего подсчета суммы.code
- целочисленная переменная, хранящая код возврата при конвертации символа в число (используется в процедуреval
).sum
- целочисленная переменная, в которую будет накапливаться сумма цифр.
- Инициализируется переменная
sum
значением 0. - Выводится на экран приглашение
s:
и пользователь вводит строку, которая сохраняется в переменнойs
. - Запускается цикл, который перебирает все символы в строке от первого до последнего.
- Внутри цикла происходит проверка каждого символа в строке на то, является ли он цифрой:
- Происходит конвертация символа в число при помощи процедуры
val(s[i], k, code)
. Если конвертация прошла успешно (code=0), то значение цифры сохраняется в переменнойk
. - Если код возврата из процедуры
val
равен 0, то данная цифра прибавляется к общей сумме в переменнойsum
.
- Происходит конвертация символа в число при помощи процедуры
- После окончания цикла происходит проверка на то, были ли найдены цифры в строке:
- Если сумма оказалась равной 0, то на экран выводится сообщение
В строке нет цифр
. - В противном случае на экран выводится сообщение о сумме найденных цифр
Summa=
и значение переменнойsum
.
- Если сумма оказалась равной 0, то на экран выводится сообщение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д