Не работает программа вычисления интеграла - QBasic
Формулировка задачи:
Помогите пожалуйста, ребят..
а да забыл сказать вычисление интеграла методом Симпсона
и вот я не пойму правильно ли я подставил H и 2H, потому что у одногрупников сходится с другими уравнениями, считает правильно, а у меня не сходится
ребяяят помогите, а.. завтра курсовую надо защищать а чо то не сходится с ответом, а фотошопом пользоваться не хочется
Решение задачи: «Не работает программа вычисления интеграла»
textual
Листинг программы
INPUT "a="; a INPUT "b="; b INPUT "e="; e n = 2 DO h = (b - a) / n s = 0 FOR x = a TO b - 2 * h STEP 2 * h y0 = (e ^ x - 1) / (e ^ x + 1) y1 = (e ^ (x + h) - 1) / (e ^ (x + h) + 1) y2 = (e ^ (x + 2 * h) - 1) / (e ^ (x + 2 * h) + 1) Si = h / 3 * (y0 + 4 * y1 + y2) s = s + Si NEXT x h = (b - a) / n p = 0 n = 2 * n FOR x = a TO b - 2 * h STEP 2 * h y0 = (e ^ x - 1) / (e ^ x + 1) y1 = (e ^ (x + h) - 1) / (e ^ (x + h) + 1) y2 = (e ^ (x + 2 * h) - 1) / (e ^ (x + 2 * h) + 1) Si = h / 3 * (y0 + 4 * y1 + y2) p = p + Si NEXT x d = ABS(s - p) s = p LOOP WHILE d > e PRINT "integral"; p END
Объяснение кода листинга программы
В этом коде выполняется вычисление интеграла от функции e в пределах от a до b с помощью метода трапеций. Вот список ключевых шагов:
- Ввод начальных значений a, b и e с помощью функции INPUT.
- Инициализация переменной n со значением 2.
- Начало цикла DO, который повторяется до тех пор, пока изменение интеграла d больше заданной точности e.
- Вычисление размера трапеции h с помощью формулы (b-a)/n.
- Инициализация переменных s и p с начальным значением 0.
- Два вложенных цикла FOR, которые вычисляют значения функции e в точках x, x+h, x+2h и вычисляют соответствующие значения интеграла Si с помощью формулы (h/3)(y0+4y1+y2).
- Значения интеграла Si добавляются к переменным s и p.
- Вычисляется разница d между s и p.
- Если d больше e, то цикл продолжается, иначе он завершается и выводится значение интеграла p с помощью функции PRINT.
- Код завершается с помощью ключевого слова END.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д