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

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

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

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

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

textual
Листинг программы
  1. uses crt;
  2. function F(x:real):real;
  3. begin
  4. F:=sqrt(x)-cos(0.387*x);
  5. end;
  6.  
  7. var a,b,c,x,e:real;
  8. begin
  9. clrscr;
  10. a:=0;
  11. b:=1;
  12. e:=0.001;
  13. writeln('Решение уравнения (x)^1/2-cos(0.386x)=0');
  14. writeln('на интервале [0;1] с погрешнос 0.001');
  15. c:=(a+b)/2;
  16. if F(a)=0 then x:=a
  17. else if F(c)=0 then x:=c
  18. else if F(b)=0 then x:=b
  19. else
  20. repeat
  21.    c:=(a+b)/2;
  22.    if F(a)*F(c)<=0 then b:=c
  23.    else a:=c;
  24. until abs(b-a)<e;
  25. x:=(a+b)/2;
  26. writeln('x=',x:0:4);
  27. readln
  28. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы