Рекурсивные Алгоритмы, вычисление квадратного корня - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Друзья, коллеги, братья прошу помощи, не могу решить последнюю задачу для зачета. Вот собственно задача: Для вычисления можно использовать рекуррентное соотношение . Для заданного a получить N членов этой последовательности.

Решение задачи: «Рекурсивные Алгоритмы, вычисление квадратного корня»

textual
Листинг программы
Program Program8;
 
var a : real;
var n : integer;
 
procedure seq(n : integer; a : real; x : real);
Begin
      if (n=0) then exit;
      writeln(x);
      seq(n-1,a,0.5*x+a/(2*x));
End;
 
Begin
 
     write('a=');
     readln(a);
     write('n=');
     readln(n);
     
     seq(n,a,0.5*a);
     
End.

Объяснение кода листинга программы

  1. В программе объявлены две переменные: a и n, оба типа real.
  2. В процедуре seq, которая является рекурсивной, есть три параметра: n, a и x. Параметр n типа integer, параметры a и x типа real.
  3. В условии if проверяется, что n равно нулю. Если это так, то выход из процедуры (exit).
  4. Если условие не выполнено, то выводится значение x.
  5. Вызывается рекурсивная функция seq для n-1, a и 0.5x+a/(2x).
  6. В начале программы запрашиваются значения переменных a и n с помощью функции readln.
  7. Вызывается рекурсивная функция seq для n и a, и значение x равно 0.5*a.
  8. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы