Отделение корней заданного уравнения - QBasic
Формулировка задачи:
Задача:Составить программу на Бейсике для отделения корней заданного уравнения методом перебора и уточнения значений методом половинного деления
Решение задачи: «Отделение корней заданного уравнения»
textual
Листинг программы
DEFDBL X, P, A, B INPUT "vvedite a: ", a INPUT "vvedite b: ", b p = 0.0001 x = (a + b) / 2 DO WHILE ABS(f(x)) > p IF f(x) > 0 THEN b = x ELSE a = x x = (a + b) / 2 LOOP PRINT x FUNCTION f (x) f = х^3-9х+3 'ваша функция END FUNCTION
Объяснение кода листинга программы
- В первой строке определяются константы
a,p,bиx. - Далее, с помощью функции
INPUT, вводятся значения дляaиb. - Переменная
pинициализируется значением 0.0001. - Переменная
xинициализируется средним значениемaиb. - Запускается цикл
DO WHILE, который будет выполняться до тех пор, пока абсолютное значение функцииf(x)большеp. - Внутри цикла, с помощью условного оператора
IF, проверяется знак функцииf(x). - Если функция
f(x)положительна, то значение переменнойbприсваивается значениеx. - Если функция
f(x)отрицательна, то значение переменнойaприсваивается значениеx. - Значение переменной
xобновляется как среднее значениеaиb. - Цикл продолжается до тех пор, пока условие не будет выполнено.
- После завершения цикла, выводится значение переменной
x. - Определяется функция
f(x), которая представляет собой полиномx^3 - 9x + 3. - Функция
f(x)вызывается в строке сPRINT, чтобы вычислить значение функции для переменнойx. - Код завершается.