Помощь - Поиск - Пользователи - Календарь
Полная версия: арифмитическая прогрессия
Форум «Всё о Паскале» > 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, чтобы вычислить правильный результат...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.