Найти корень уравнения на заданном интервале с заданной точностью - QBasic
Формулировка задачи:
Найти корень уравнения f(x)=0 на заданном интервале с точностью е(эпсила маленькое)=0.001
Функции x^2+2x+0.5SQRTx - 43
[a,b]=[5,6]
ответ:5.544
Решение задачи: «Найти корень уравнения на заданном интервале с заданной точностью»
textual
Листинг программы
DECLARE FUNCTION f! (x!) CLS a = 5 b = 6 e = .001 DO c = (a + b) / 2 IF f(a) * f(c) <= 0 THEN b = c ELSE a = c LOOP UNTIL ABS(a - b) < e PRINT USING "x = #.###"; c END FUNCTION f (x) f = x ^ 2 + 2 * x + .5 * SQR(x) - 43 END FUNCTION
Объяснение кода листинга программы
- DECLARE FUNCTION f! (x!) - Объявляется функция с именем f, которая принимает один аргумент x.
- CLS - Очищается экран.
- a = 5 - Переменной a присваивается значение 5.
- b = 6 - Переменной b присваивается значение 6.
- e = .001 - Переменной e присваивается значение 0.001.
- DO - Начинается цикл.
- c = (a + b) / 2 - Переменной c присваивается среднее арифметическое значений a и b.
- *IF f(a) f(c) <= 0 THEN b = c ELSE a = c** - Если произведение значений f(a) и f(c) меньше или равно нулю, то значение переменной b присваивается значение переменной c, иначе значение переменной a присваивается значение переменной c.
- LOOP UNTIL ABS(a - b) < e - Цикл продолжается до тех пор, пока абсолютное значение разности a и b меньше или равно e.
- PRINT USING
x = #.###
; c - Выводится значение переменной c с форматированиемx = #.###
. - END - Конец программы.
- FUNCTION f (x) - Определяется функция f.
- f = x ^ 2 + 2 x + .5 SQR(x) - 43 - Функция f вычисляется как x^2 + 2x + 0.5sqrt(x) - 43.
- END FUNCTION - Конец определения функции f.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д