Уточнить корень уравнения методом половинного деления - 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.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с числовыми значениями.
- Создается функция F, которая принимает аргумент x типа real и возвращает значение типа real. Внутри функции выполняется вычисление квадратного корня из x, а затем вычитается значение cos(0.387*x).
- Затем объявляются переменные a, b, c, x и e типа real.
- Выполняется очистка экрана с помощью функции clrscr.
- Задаются начальные значения переменных a, b и e.
- Выводится сообщение с формулой уравнения и интервалом решения [0;1] с погрешностью 0.001.
- Вычисляется среднее значение a и b с помощью операции деления (c:=(a+b)/2).
- Проверяется условие F(a)=0. Если оно выполняется, то x присваивается значение a.
- Если условие F(c)=0 выполняется, то x присваивается значение c.
- Если условие F(b)=0 выполняется, то x присваивается значение b.
- Если ни одно из условий не выполняется, то повторяется шаг 7.
- Вычисляется среднее значение a и b снова с помощью операции деления (x:=(a+b)/2).
- Проверяется условие abs(b-a)<e. Если оно выполняется, то b присваивается значение c.
- Если условие не выполняется, то a присваивается значение c.
- Цикл повторяется до тех пор, пока abs(b-a)<e.
- После завершения цикла выводится сообщение с найденным значением x.
- Выполняется чтение ввода с помощью функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д