Уточнить корень методом касательных - Turbo Pascal
Формулировка задачи:
Доброго времени суток! Помоги с программой.
1/2 e^x+x^2- 2=0 уточнить корень указанным методом с точностью ε=0,001. Метод касательных.
Вот что получилось. Спасибо!
Решение задачи: «Уточнить корень методом касательных»
textual
Листинг программы
Program kas; uses crt; function f1(x:real):real; {Основная функция} begin f1:=0.5*exp(x) + x*x - 2; end; function f2(x:real):real; {Производная от основной функции} begin f2:=2*x+0.5*exp(x); end; var x,a,b,e:real; begin clrscr; a:=0; b:=1; e:=0.001; if f1(a)*f2(a)>0 then x:=a else x:=b; while abs(f1(x))>e do x:=x-f1(x)/f2(x); write('В интервале от ',a:0:0,' до ',b:0:0,' с погрешностью e=0.001 x=',x:0:3); readln end.
Объяснение кода листинга программы
- Создается программа
kas
. - Используются библиотеки
crtrt
. - Определяются две функции
f1
иf2
, которые принимают аргумент типаreal
и возвращают значение типаreal
. - Объявляются переменные
x
,a
,b
иe
типаreal
. - Выполняется инициализация переменных:
a
устанавливается равным 0,b
- 1,e
- 0.001. - Если значение функции
f1
умноженное на значение функцииf2
больше нуля, тоx
устанавливается равнымa
. В противном случаеx
устанавливается равнымb
. - Запускается цикл while:
- Вычисляется разница между текущим значением
x
и значением функцииf1
деленной на функциюf2
. - Если полученная разница больше заданной погрешности
e
, тоx
устанавливается равнымx-f1(x)/f2(x)
.
- Вычисляется разница между текущим значением
- Выводится сообщение с текущими значениями переменных
a
,b
иe
, а также с текущим значениемx
. - Программа завершается и ожидает ввода пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д