Отделить корень уравнения графически и аналитически. Метод бисекций - 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!
не используется после вывода на экран
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д