Рекурсивная функция для нахождения суммы положительных чисел последовательности - PascalABC.NET
Формулировка задачи:
"Задана последовательность положительных вещественных чисел, за которой следует отрицательное число. Напишите рекурсивную функцию для нахождения суммы положительных чисел последовательности."
Решение задачи: «Рекурсивная функция для нахождения суммы положительных чисел последовательности»
textual
Листинг программы
var a:real; function p(x:real):real; begin if x<0 then p:=-x else begin read(x); p:=p(x)+x end end; begin writeln(p(a)) end.
Объяснение кода листинга программы
В данном коде:
- Объявлена переменная типа real
a. - Объявлена функция
pс аргументом типа realx. - В функции
pпроверяется, еслиxменьше нуля, то возвращается -x. - Если
xбольше или равно нулю, то считывается значениеx, и возвращаетсяp(x)плюсx. - В основной части программы вызывается функция
pс аргументомa, и результат выводится на экран.