Цепная дробь, рекурсия - 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.

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

  1. Объявляется константа END_MR_NUM со значением 101.
  2. Определяется функция GetR с аргументом lvl типа integer, возвращающая значение типа double.
  3. Если значение lvl больше чем END_MR_NUM, то функция возвращает значение (END_MR_NUM + 2).
  4. В противном случае, функция возвращает результат выражения lvl + 1 делённое на вызов GetR с аргументом lvl + 2.
  5. В основной части программы выводится результат выражения 1 делённое на вызов функции GetR с аргументом 1.

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


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

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

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