Цепная дробь, рекурсия - Pascal
Формулировка задачи:
Пожалуйста, не бросайтесь тапками=( Ну совсем не могу понять как её написать
Помогите пожалуйста
Вычислить значение дроби:
Решение задачи: «Цепная дробь, рекурсия»
textual
Листинг программы
const END_MR_NUM = 101; function GetR( lvl: integer ): double; begin if lvl > END_MR_NUM then GetR := (END_MR_NUM+2) else begin GetR := lvl + 1 / GetR( lvl + 2 ); end; end; begin writeln( 1/GetR ( 1 ) ); end.
Объяснение кода листинга программы
- Объявляется константа END_MR_NUM со значением
101
. - Определяется функция GetR с аргументом lvl типа integer, возвращающая значение типа double.
- Если значение lvl больше чем END_MR_NUM, то функция возвращает значение (END_MR_NUM + 2).
- В противном случае, функция возвращает результат выражения lvl + 1 делённое на вызов GetR с аргументом lvl + 2.
- В основной части программы выводится результат выражения 1 делённое на вызов функции GetR с аргументом 1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д