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

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

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

Помогите, пожалуйста Само задание во вложениях указано ниже.
Листинг программы
  1. var F,x,S,eps:real;
  2. n:integer;
  3. begin
  4. write('vvedite x=');readln(x);
  5. write('vvedite eps=');readln(eps);
  6. F:=0;
  7. n:=1;
  8. S:=(sin((n+1)*x))/(2*n-1);
  9. while abs(S)>eps do
  10. begin
  11. F:=F+S;
  12. n:=n+1;
  13. S:=((sin((n+1)*x))/(2*n-1))*exp(n*ln(-1));
  14. end;
  15. writeln('pri x=',x:5:2,' eps=',eps:5:5,' summa F=',F:7:3);
  16. writeln('kolichestvo shagov =',n);
  17. readln;
  18. end.
Составить программу для вычисления функции До выполнения условия где ε = 0.001; 0.01; 0.0001 x = 2.3; 3.01; 4.56

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

textual
Листинг программы
  1. function ff(x,e:real):real;
  2. var n:integer;
  3.     s,t:real;
  4. begin
  5. n:=1;
  6. t:=1;
  7. s:=0;
  8. while abs(t*sin((n+1)*x)/(2*n-1))>e do
  9.  begin
  10.   s:=s+t*sin((n+1)*x)/(2*n-1);
  11.   n:=n+1;
  12.   t:=-t;
  13.  end;
  14. ff:=s;
  15. end;
  16.  
  17. begin
  18. writeln('----------------------------------');
  19. writeln('|  x  | e=0.01 |e=0.001 |e=0.0001|');
  20. writeln('----------------------------------');
  21. writeln('|2.30 |',ff(2.3,0.01):8:4,'|',ff(2.3,0.001):8:4,'|',ff(2.3,0.0001):8:4,'|');
  22. writeln('|3.01 |',ff(3.01,0.01):8:4,'|',ff(3.01,0.001):8:4,'|',ff(3.01,0.0001):8:4,'|');
  23. writeln('|4.56 |',ff(4.56,0.01):8:4,'|',ff(4.56,0.001):8:4,'|',ff(4.56,0.0001):8:4,'|');
  24. writeln('----------------------------------');
  25. readln
  26. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы