Отделить корень уравнения графически и аналитически. Метод бисекций - QBasic
Формулировка задачи:
Добрый день! ребята помогите пожалуйста с программой. только начинаю изучать.
Отделить корень уравнения графически и аналитически (если в уравнении корней несколько, взять наименьший положительный); уточнить корень указанным методом с точностью ε=0,001 составить программу расчетов на языке БЕЙСИК.
а) 5sinx – x + 1 = 0 метод бисекций
Вариант программы соответствующей алгоритму решения задачи определения корня уравнения 5sinx-x=1:
Заранее всем спасибо!
Решение задачи: «Отделить корень уравнения графически и аналитически. Метод бисекций»
textual
Листинг программы
DECLARE FUNCTION Div2! (A!, B!, Eps!) DECLARE FUNCTION Fx! (x!) DIM A!, B!, Eps!, Tmp! CLS A = 2.5 B = 3 Eps = .001 Tmp = Div2(A, B, Eps) PRINT "x= "; Tmp PRINT "F(x)="; Fx(Tmp) FUNCTION Div2! (A!, B!, Eps!) DIM x!, Fa!, Fxx! Fa = Fx(A) WHILE ABS(Fa) > Eps x = (A + B) / 2 Fxx = Fx(x) IF Fa * Fxx <= 0 THEN B = x ELSE A = x Fa = Fxx END IF WEND Div2 = A END FUNCTION FUNCTION Fx! (x!) Fx = 5 * SIN(x) - x + 1 END FUNCTION
Объяснение кода листинга программы
- Объявлены функции
Div2!,Fx! - В основной программе определены переменные
A!,B!,Eps!,Tmp! - Заданы начальные значения
A=2.5,B=3,Eps=.001 - Вызвана функция
Div2!(A!, B!, Eps!)с передачей текущих значений переменныхA!,B!,Eps! - Результат вычисления функции
Div2!сохранен в переменнуюTmp! - Выведено на экран значение переменной
Tmp! - Вычислено значение функции
Fx!(Tmp!)и выведено на экран - В функции
Div2!определены дополнительные переменныеx!,Fa!,Fxx! - При вычислении функции
Div2!в цикле пока выполняется условиеABS(Fa) > Eps - В каждой итерации цикла переменная
x!принимает значение(A + B) / 2 - Вычисляется значение функции
Fx!(x!)и сохраняется в переменнуюFxx! - Проверяется условие
Fa * Fxx <= 0 - Если условие истинно, то переменная
Bприсваивается значениеx!, иначе переменнойAприсваивается значениеx!, а переменнойFaзначениеFxx! - Цикл выполняется до тех пор, пока условие
ABS(Fa) > Epsистинно - В результате выполнения функции
Div2!возвращается значение переменнойA - В функции
Fx!определена формула для вычисления значения функцииFx(x) = 5 * SIN(x) - x + 1 - В основной программе вызывается функция
Fx!(Tmp)!для вычисления значения функцииFx(Tmp) - Завершается выполнение основной программы
- Значения переменных
A!,B!,Eps!,Tmp!,x!,Fa!,Fxx!не используются после выполнения функцийDiv2!,Fx! - Значение переменной
Tmp!не используется после вывода на экран