Вычислить сумму и найти число слагаемых, которые вошли в сумму - Free Pascal (960)

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

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

Вычислить сумму и найти число слагаемых, которые вошли в сумму. Процесс вычислений требуется закончить, когда очередное слагаемое по модулю окажется меньше . (((-1)^n)(n^2))/n!, n=1,2,... p.s. такой способ не подходит:
Листинг программы
  1. uses crt;
  2. function fact(b : integer) : longint;
  3. var i,st : longint;
  4. begin
  5. st:=1;
  6. for i:=2 to b do st:=st*i;
  7. fact:=st;
  8. end;
  9. var x,s,e : real;
  10. n,m,k : integer;
  11. begin
  12. clrscr;
  13. repeat
  14. write('Vvedite x: ');
  15. readln(x);
  16. until x<>0;
  17. repeat
  18. write('Vvedite EPSILON: ');
  19. readln(e);
  20. until e>0;
  21. n:=1;
  22. s:=0;
  23. while abs(n*n/fact(n))>=e do
  24. begin
  25. if ((n+1) mod 2=0) then
  26. s:=s-n*n/fact(n) else
  27. s:=s+n*n/fact(n);
  28. n:=n+1;
  29. end;
  30. writeln('Summa ravna: ',s:5:5);
  31. writeln('Kolichestvo chlenov: ',n-1);
  32. readkey;
  33. end.
Надо сделать по следующему примеру: (-1)^n*(((x^n)*cosn)/(n+1)!) Выводим =*(/(k+1)!). Тогда выводим =... после чего /=-x/(k+1). В итоге z=(-x/(k+1))z.
Листинг программы
  1. k:=1; S:=0; A:=1, Z:=1;
  2. while abs(a)>eps do
  3. begin
  4. s:=s+a; k:=k+1; z:=-z*x/(k+1); a:=z*cos(k)
  5. end;

Решение задачи: «Вычислить сумму и найти число слагаемых, которые вошли в сумму»

textual
Листинг программы
  1. k:=1; S:=0; Z:=-1;
  2. while abs(z)>eps do
  3. begin
  4. s:=s+z; k:=k+1; z:=-z*k/((k-1)*(k-1));
  5. end;

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

  1. Инициализируются три переменные: k=1, S=0, Z=-1.
  2. Запускается цикл while, который выполняется до тех пор, пока абсолютное значение Z больше заданной точности eps.
  3. Внутри цикла к сумме S прибавляется значение переменной Z, а затем переменная k увеличивается на единицу.
  4. Значение переменной Z обновляется в соответствии с формулой Z = -Z k / ((k-1) (k-1)).
  5. После окончания цикла выводится значение переменной S.

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


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

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

5   голосов , оценка 4.4 из 5

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

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

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