Рекурсивные Алгоритмы, вычисление квадратного корня - 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.
Объяснение кода листинга программы
- В программе объявлены две переменные: a и n, оба типа real.
- В процедуре seq, которая является рекурсивной, есть три параметра: n, a и x. Параметр n типа integer, параметры a и x типа real.
- В условии if проверяется, что n равно нулю. Если это так, то выход из процедуры (exit).
- Если условие не выполнено, то выводится значение x.
- Вызывается рекурсивная функция seq для n-1, a и 0.5x+a/(2x).
- В начале программы запрашиваются значения переменных a и n с помощью функции readln.
- Вызывается рекурсивная функция seq для n и a, и значение x равно 0.5*a.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д