Уточнить корень уравнения методом половинного деления - Turbo Pascal

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

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

Отделить корни уравнения графически, а потом на Паскале уточнить один из них методом половинного деления с точностью 0,001 X^(1/2)-cos(0,387x)=0 Помогите, пожалуйста))Заранее спасибо)

Решение задачи: «Уточнить корень уравнения методом половинного деления»

textual
Листинг программы
uses crt;
function F(x:real):real;
begin
F:=sqrt(x)-cos(0.387*x);
end;
 
var a,b,c,x,e:real;
begin
clrscr;
a:=0;
b:=1;
e:=0.001;
writeln('Решение уравнения (x)^1/2-cos(0.386x)=0');
writeln('на интервале [0;1] с погрешнос 0.001');
c:=(a+b)/2;
if F(a)=0 then x:=a
else if F(c)=0 then x:=c
else if F(b)=0 then x:=b
else
repeat
   c:=(a+b)/2;
   if F(a)*F(c)<=0 then b:=c
   else a:=c;
until abs(b-a)<e;
x:=(a+b)/2;
writeln('x=',x:0:4);
readln
end.

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

  1. В начале кода подключается библиотека crt, которая используется для работы с числовыми значениями.
  2. Создается функция F, которая принимает аргумент x типа real и возвращает значение типа real. Внутри функции выполняется вычисление квадратного корня из x, а затем вычитается значение cos(0.387*x).
  3. Затем объявляются переменные a, b, c, x и e типа real.
  4. Выполняется очистка экрана с помощью функции clrscr.
  5. Задаются начальные значения переменных a, b и e.
  6. Выводится сообщение с формулой уравнения и интервалом решения [0;1] с погрешностью 0.001.
  7. Вычисляется среднее значение a и b с помощью операции деления (c:=(a+b)/2).
  8. Проверяется условие F(a)=0. Если оно выполняется, то x присваивается значение a.
  9. Если условие F(c)=0 выполняется, то x присваивается значение c.
  10. Если условие F(b)=0 выполняется, то x присваивается значение b.
  11. Если ни одно из условий не выполняется, то повторяется шаг 7.
  12. Вычисляется среднее значение a и b снова с помощью операции деления (x:=(a+b)/2).
  13. Проверяется условие abs(b-a)<e. Если оно выполняется, то b присваивается значение c.
  14. Если условие не выполняется, то a присваивается значение c.
  15. Цикл повторяется до тех пор, пока abs(b-a)<e.
  16. После завершения цикла выводится сообщение с найденным значением x.
  17. Выполняется чтение ввода с помощью функции readln.

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


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

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

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