Помощь - Поиск - Пользователи - Календарь
Полная версия: арифмитическая прогрессия
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
compiler
я нашел код(где говорить не буду чтоб коекто не обвинил в рекламе) и не могу его понять(особенно одну его строчку), прошу помоч
Program Progressiy;
Var
a1, d, k: real;
n: integer;
{ - - - - - - - - - - - - - - - - - - - -}
Function Arif (a1, d: real; n: integer): real;
Begin
if n = 1
then
Arif := a1
else
Arif := Arif(a1, d, n - 1) + d; {что значит эта строчка}
End;
{ - - - - - - - - - - - - - - - - - - - -}
Begin
writeln('Задайте первый член прогрессии');
readln(a1);
writeln('Задайте разность арифметической прогрессии');
readln(d);
writeln('Арифметическая прогрессия ', Аrif(a1, d, n) : 4 : 2);
End.

заранее благодарен.
volvo
Это рекурсивное вычисление предыдущего члена арифметической прогрессии ... Функция будет вызывать сама себя до тех пор, пока не дойдет до элемента с n = 1, присвоит ему значение a1, и рекурсия начнет раскручиваться в обратную сторону, прибавляя необходимое число d, чтобы вычислить правильный результат...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.