Правильно ли реализовано вычисление функции? - Turbo Pascal
Формулировка задачи:
Помогите, пожалуйста
Само задание во вложениях указано ниже.
Составить программу для вычисления функции
До выполнения условия
где
ε = 0.001; 0.01; 0.0001
x = 2.3; 3.01; 4.56
Листинг программы
- var F,x,S,eps:real;
- n:integer;
- begin
- write('vvedite x=');readln(x);
- write('vvedite eps=');readln(eps);
- F:=0;
- n:=1;
- S:=(sin((n+1)*x))/(2*n-1);
- while abs(S)>eps do
- begin
- F:=F+S;
- n:=n+1;
- S:=((sin((n+1)*x))/(2*n-1))*exp(n*ln(-1));
- end;
- writeln('pri x=',x:5:2,' eps=',eps:5:5,' summa F=',F:7:3);
- writeln('kolichestvo shagov =',n);
- readln;
- end.
Решение задачи: «Правильно ли реализовано вычисление функции?»
textual
Листинг программы
- function ff(x,e:real):real;
- var n:integer;
- s,t:real;
- begin
- n:=1;
- t:=1;
- s:=0;
- while abs(t*sin((n+1)*x)/(2*n-1))>e do
- begin
- s:=s+t*sin((n+1)*x)/(2*n-1);
- n:=n+1;
- t:=-t;
- end;
- ff:=s;
- end;
- begin
- writeln('----------------------------------');
- writeln('| x | e=0.01 |e=0.001 |e=0.0001|');
- writeln('----------------------------------');
- writeln('|2.30 |',ff(2.3,0.01):8:4,'|',ff(2.3,0.001):8:4,'|',ff(2.3,0.0001):8:4,'|');
- writeln('|3.01 |',ff(3.01,0.01):8:4,'|',ff(3.01,0.001):8:4,'|',ff(3.01,0.0001):8:4,'|');
- writeln('|4.56 |',ff(4.56,0.01):8:4,'|',ff(4.56,0.001):8:4,'|',ff(4.56,0.0001):8:4,'|');
- writeln('----------------------------------');
- readln
- end.
Объяснение кода листинга программы
- В функции ff объявлены три переменные: x, e и n. Переменная n является целочисленной, а переменные s и t являются вещественными.
- В цикле while выполняется следующее:
- переменная s инициализируется как сумма предыдущего значения переменной t и текущего значения функции sin, делённого на (2*n-1).
- переменная n увеличивается на 1.
- переменная t инвертируется.
- После выхода из цикла, значение переменной s присваивается переменной ff.
- В основной программе выводится таблица с различными значениями x и e. Значения вычисляются с помощью функции ff.
- Выводится заголовок таблицы.
- Выводятся значения функции ff для различных значений x и e.
- Программа завершается с помощью команды readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д