Цепная дробь, рекурсия - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д