Вычисление суммы бесконечного ряда - QBasic

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

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

Помогите найти сумму бесконечного ряда.Что надо изменить чтобы правильно считала? Условие: Вычислить сумму бесконечного ряда S=1-(x^2)/2!+(x^4)/4!-(x^6)/6!.... Ограничение по значению аргумента x<0.5 Точность вычисления E=0.001 Точное значение S=cosx
Листинг программы
  1. CLS
  2. DO
  3. PRINT "vvod znacheniy x (abs(x)<0.5)"
  4. INPUT x
  5. LOOP UNTIL ABS(x) < .5
  6. CLS
  7. E = .001
  8. s = 0
  9. i = 1
  10. N = 1
  11. K = 0
  12. P = 1
  13. DO
  14. P = P * (2 * N) ^ i
  15. i = i + 1
  16. Sm = (-1) ^ K * (x ^ (2 * N) / P)
  17. s = s + Sm
  18. PRINT "Chlenov ryada "; N;
  19. PRINT USING "znachenie S=##.####"; s
  20. N = N + 1: K = K + 1
  21. LOOP UNTIL ABS(Sm) < E
  22. PRINT "Pri X="; x
  23. PRINT USING "S=##.####"; s
  24. PRINT USING "Tochnoe znachenie S=##.####"; COS(x)
  25. D = ABS(s - COS(x))
  26. PRINT USING "pogreshnost vichisleniya D=##.#### pri tochnosti E=0.001"; D
  27. END

Решение задачи: «Вычисление суммы бесконечного ряда»

textual
Листинг программы
  1. DEFDBL A-Z
  2. eps = 0.001: tmp = 1
  3. DO
  4.     INPUT "enter x: ", x
  5. LOOP UNTIL ABS(x) < .5
  6. WHILE ABS(tmp) > eps
  7.     i = i + 1
  8.     PRINT "chlen rjada"; i;
  9.     PRINT USING " = ##.####"; tmp
  10.     res = res + tmp
  11.     tmp = -tmp * x * x / (2 * i * (2 * i - 1))
  12. WEND
  13. PRINT "s("; x; USING ") = ##.####"; res
  14. PRINT "cos("; x; USING ") = ##.####"; COS(x)
  15. PRINT USING "pogreshnost vichisleniya d = ##.####"; ABS(res - COS(x))
  16. PRINT "pri tochnosti E = 0.001"

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

  1. Объявлены переменные: — x — для ввода значения аргумента функции; — i — счётчик итераций; — res — для хранения суммы ряда; — tmp — временная переменная; — eps — для контроля точности вычислений.
  2. Введен цикл DO-LOOP, который выполняется до тех пор, пока значение аргумента x не станет меньше 0.5.
  3. Внутри цикла выполняется другой цикл WHILE, который выполняется, пока значение временной переменной tmp больше заданной точности eps.
  4. Внутри цикла WHILE выполняется: — увеличивается счётчик i; — выводится на экран информация о числе итераций и текущем значении tmp; — значение tmp обновляется в соответствии с формулой ряда; — сумма ряда res обновляется путем добавления к ней значения tmp.
  5. После выхода из цикла WHILE выводится на экран информация о числе итераций и сумме ряда.
  6. Вычисляется косинус аргумента x и выводится на экран в качестве проверки.
  7. Вычисляется погрешность вычисления суммы ряда и выводится на экран.

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


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

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

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

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

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

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