Решение нелинейных уравнений методом половинного деления - Pascal (8340)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста!!! уравнение: x-x в 3/3+x в 5/5+x/y+y Отрезок, содержащий корень и точное значение корня не известны

Решение задачи: «Решение нелинейных уравнений методом половинного деления»

textual
Листинг программы
uses crt;
function F(x,y:real):real;
begin
F:=x-x*x*x/3+x*x*x*x*x/5+x/y+y;{наша функция, 
возведения в степень по формуле надо избегать при возможности, 
поскольку она работает только для положительных Х}
end;
var a,b,c,e,y,x:real;
begin
clrscr;
a:=-1;{левая граница}
b:=1;{правая граница}
y:=1;
e:=0.0001;{точность}
if F(a,y)*F(b,y)<0 then
  begin
   repeat
   c:=(a+b)/2;
   if F(a,y)*F(c,y)<=0 then b:=c
   else a:=c;
   until b-a<e;
   x:=(a+b)/2;
  end
else writeln('На данном интервале корней нет, либо взят большой интервал.');
writeln('Z(x,y)=',x:0:5);
readln
end.

Объяснение кода листинга программы

  1. Подключается библиотека crt, которая обеспечивает работу с числовыми значениями с плавающей точкой.
  2. Определяется функция F, которая принимает два аргумента типа real и возвращает значение типа real. Внутри функции выполняется вычисление значения методом половинного деления.
  3. Объявляются переменные a, b, c, e и y типа real.
  4. Выполняется инициализация переменных: a присваивается значение -1, b - 1, y - 1, e - 0.0001.
  5. Проверяется условие: если произведение значений функций F(a,y) и F(b,y) меньше нуля, то выполняется цикл.
  6. В цикле вычисляется среднее значение c как (a+b)/2.
  7. Проверяется условие: если произведение значений функций F(a,y) и F(c,y) меньше или равно нулю, то значение переменной b устанавливается равным c. В противном случае значение переменной a устанавливается равным c.
  8. Цикл повторяется до тех пор, пока разница между b и a не будет меньше заданной точности e.
  9. После окончания цикла вычисляется среднее значение x как (a+b)/2.
  10. Выводится сообщение о том, что на данном интервале корней нет, либо был взят большой интервал.
  11. Выводится сообщение 'Z(x,y)=' и выводится значение x.
  12. Программа завершается с помощью команды readln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы