Вычисление функции с заданной точностью - Pascal ABC
Формулировка задачи:
Вариант №21 в прикрепленном изображении
Помогите найти ошибку,
пишет "Программа завершена из-за переполнения программного стека"
Листинг программы
- program p1;
- var
- n:integer;
- p: integer;
- x,e,f,f1:real;
- function fac(p: integer):integer;
- begin
- if p=1 then fac:=1 else fac:=p*fac(p-1);
- end;
- begin
- writeln('Введите х');
- readln(x);
- writeln('Введите e');
- readln(e);
- f:=pi/2;
- f1:=0;
- while (abs(f1-f)>e) do
- begin
- f1:=f;
- f:=f-((fac(2*n)*exp(ln(x) *(2*n+1)))/(exp(ln(4) * n)*fac(n)*(2*n+1)));
- n:=n+1;
- end;
- writeln(f);
- end.
Решение задачи: «Вычисление функции с заданной точностью»
textual
Листинг программы
- program p1;
- var
- n: integer;
- p: integer;
- x, e, f, f1: real;
- function fac(p: integer): integer;
- begin
- if p = 1 then fac := 1 else fac := p * fac(p - 1);
- end;
- begin
- writeln('Введите х');
- readln(x);
- writeln('Введите e');
- readln(e);
- f := pi / 2;
- f1 := 0;
- n := 1;
- while (abs(f1 - f) > e) do
- begin
- f1 := f;
- f := f - ((fac(2 * n) * exp(ln(x) * (2 * n + 1))) / (exp(ln(4) * n) * fac(n) * (2 * n + 1)));
- n := n + 1;
- end;
- writeln(f);
- end.
Объяснение кода листинга программы
- Создается программа p1.
- Определяются переменные: n, p, x, e, f, f1 типа integer, real.
- Определяется функция fac(p: integer) типа integer.
- Вычисляется значение функции fac при p = 1 и присваивается переменной fac.
- Задаются начальные значения переменных n, p, x, e, f, f1.
- Выводится запрос на ввод значения x.
- Читается значение x.
- Выводится запрос на ввод значения e.
- Читается значение e.
- Инициализируется переменная f значением pi / 2.
- Инициализируется переменная f1 значением 0.
- Инициализируется переменная n значением 1.
- Запускается цикл while, который выполняется, пока abs(f1 - f) > e.
- Внутри цикла вычисляется значение f1.
- Вычисляется значение f.
- Увеличивается значение n на 1.
- Вычисляется значение f.
- Повторяются шаги 14-17 до тех пор, пока abs(f1 - f) <= e.
- Выводится значение f.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д