Правильно ли реализовано вычисление функции? - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста Само задание во вложениях указано ниже.
Составить программу для вычисления функции До выполнения условия где ε = 0.001; 0.01; 0.0001 x = 2.3; 3.01; 4.56

Решение задачи: «Правильно ли реализовано вычисление функции?»

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.

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

  1. В функции ff объявлены три переменные: x, e и n. Переменная n является целочисленной, а переменные s и t являются вещественными.
  2. В цикле while выполняется следующее:
    • переменная s инициализируется как сумма предыдущего значения переменной t и текущего значения функции sin, делённого на (2*n-1).
    • переменная n увеличивается на 1.
    • переменная t инвертируется.
  3. После выхода из цикла, значение переменной s присваивается переменной ff.
  4. В основной программе выводится таблица с различными значениями x и e. Значения вычисляются с помощью функции ff.
  5. Выводится заголовок таблицы.
  6. Выводятся значения функции ff для различных значений x и e.
  7. Программа завершается с помощью команды readln.

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


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

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

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