Найти значение выражения - Pascal (81091)
Формулировка задачи:
Написать рекурсивную программу нахождения
для заданного n.
Решение задачи: «Найти значение выражения»
textual
Листинг программы
Uses crt;
Function kor(n:integer):real;
begin
if n=1 then kor:=sqrt(2)
else
kor:=sqrt(2+kor(n-1));
end;
Var
n:integer;
begin
Clrscr;
write('n=');
readln(n);
writeln(kor(n):0:3);
readln;
end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с математическими функциями.
- Создается функция kor, которая принимает целочисленный аргумент n и возвращает действительное число (результат вычисления выражения).
- Внутри функции kor проверяется базовый случай, когда n равно 1. Если это так, то функция возвращает квадратный корень из 2.
- Если базовый случай не выполнен, то функция kor вызывает саму себя, передавая в качестве аргумента n-1, и прибавляет к результату квадратный корень из суммы квадратного корня из 2 и значения переменной kor(n-1).
- В начале программы объявляется переменная n типа integer, которая будет использоваться для хранения значения, введенного пользователем.
- Затем происходит очистка экрана с помощью функции Clrscr.
- Далее, с помощью функции write, выводится сообщение
n=и ожидается ввод значения n от пользователя с помощью функции readln. - Значение n сохраняется в переменной n.
- Затем вычисляется значение функции kor(n) с помощью вызова функции.
- Результат вычисления функции kor(n) выводится на экран с помощью функции writeln.
- После этого происходит чтение ввода пользователя с помощью функции readln.
- Программа завершается.