В последовательности натуральных чисел определить сумму всех чисел, оканчивающихся на 3 или 9 - Free Pascal
Формулировка задачи:
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, оканчивающихся на 3 или 9. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Решение задачи: «В последовательности натуральных чисел определить сумму всех чисел, оканчивающихся на 3 или 9»
textual
Листинг программы
var sum:longint;
x:integer;
begin
repeat
write('x= ');
readln(x);
sum:=sum+x*ord((x mod 10=3)or(x mod 10=9))
until x=0;
writeln('summa = ',sum)
end.
Объяснение кода листинга программы
- Объявлены две переменные:
sumтипа longint иxтипа integer. - Запускается цикл repeat-until, который будет выполняться до тех пор, пока значение переменной
xне станет равным 0. - Внутри цикла происходит запись значения переменной
xс помощью функции write, а затем ее чтение с помощью функции readln. - После этого значение переменной
xумножается на значение функции ord, которая возвращает числовое значение символа в кодировке Windows-1251. - В качестве аргумента функции ord используется выражение (x mod 10 = 3) or (x mod 10 = 9), которое возвращает true, если значение переменной
xзаканчивается на 3 или 9. - Результат умножения записывается в переменную
sum. - После выхода из цикла repeat-until выводится значение переменной
sumс помощью функции writeln.