Вычисление суммы бесконечного ряда - QBasic
Формулировка задачи:
Помогите найти сумму бесконечного ряда.Что надо изменить чтобы правильно считала?
Условие:
Вычислить сумму бесконечного ряда
S=1-(x^2)/2!+(x^4)/4!-(x^6)/6!....
Ограничение по значению аргумента x<0.5
Точность вычисления E=0.001
Точное значение S=cosx
Решение задачи: «Вычисление суммы бесконечного ряда»
textual
Листинг программы
DEFDBL A-Z eps = 0.001: tmp = 1 DO INPUT "enter x: ", x LOOP UNTIL ABS(x) < .5 WHILE ABS(tmp) > eps i = i + 1 PRINT "chlen rjada"; i; PRINT USING " = ##.####"; tmp res = res + tmp tmp = -tmp * x * x / (2 * i * (2 * i - 1)) WEND PRINT "s("; x; USING ") = ##.####"; res PRINT "cos("; x; USING ") = ##.####"; COS(x) PRINT USING "pogreshnost vichisleniya d = ##.####"; ABS(res - COS(x)) PRINT "pri tochnosti E = 0.001"
Объяснение кода листинга программы
- Объявлены переменные: — x — для ввода значения аргумента функции; — i — счётчик итераций; — res — для хранения суммы ряда; — tmp — временная переменная; — eps — для контроля точности вычислений.
- Введен цикл DO-LOOP, который выполняется до тех пор, пока значение аргумента x не станет меньше 0.5.
- Внутри цикла выполняется другой цикл WHILE, который выполняется, пока значение временной переменной tmp больше заданной точности eps.
- Внутри цикла WHILE выполняется: — увеличивается счётчик i; — выводится на экран информация о числе итераций и текущем значении tmp; — значение tmp обновляется в соответствии с формулой ряда; — сумма ряда res обновляется путем добавления к ней значения tmp.
- После выхода из цикла WHILE выводится на экран информация о числе итераций и сумме ряда.
- Вычисляется косинус аргумента x и выводится на экран в качестве проверки.
- Вычисляется погрешность вычисления суммы ряда и выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д