Процедура нахождения корня уравнения методом половинного деления и методом Ньютона - Turbo Pascal

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

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

написать программу процедуру для нахождения корня каждого уравнения методом половинного деления и методом Ньютона с точностью ε=0,001. уравнения:1) х2-2cos(x)-1=0; 2)x3-x2+2x+1=0

Решение задачи: «Процедура нахождения корня уравнения методом половинного деления и методом Ньютона»

textual
Листинг программы
uses
  crt;
 
const
  max_iter = 100;
 
var
  a, b, e, M, x0: real;
  k: integer;
 
function f(x: real): real;
begin
  result := sqr(sin(x)) - x + 1;
end;
 
begin
  clrscr;
  write('a/b/e: ');
  readln(a, b, e);
  k := 0;
  while (abs(a - x0) >= e) or (k > max_iter) do
  begin
    M := -(F(a + e) - F(a - e) ) / (2 * e);
    x0 := a;
    a := x0 + F(x0) / M;
    inc(k);
    writeln('C=', a:3:2, ' f(c)=', f(a):3:2);
  end;
  if (abs(a - x0) <= e) then
    writeln('C=', a:3:2, ' Iteratsiy: ', k)
  else
    writeln('Answer not found!');
  readln;
end.

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

  1. В начале кода подключается библиотека crt, которая содержит функции для работы с консолью.
  2. Затем определяются константы и переменные:
    • max_iter - максимальное количество итераций;
    • a, b, e - переменные для ввода значений a, b и e от пользователя;
    • M - переменная для хранения значения выражения (F(a + e) - F(a - e)) / (2 * e);
    • x0 - начальное значение переменной x;
  3. Затем определяется функция f, которая вычисляет значение выражения f(x) = sqr(sin(x)) - x + 1.
  4. После этого происходит инициализация переменных:
    • k = 0;
    • x0 = 0;
  5. Затем идет цикл while, который выполняется до тех пор, пока abs(a - x0) >= e или k не превысит max_iter:
    • M = -(F(a + e) - F(a - e)) / (2 * e);
    • x0 = a;
    • a = x0 + F(x0) / M;
    • k++;
  6. Если в процессе выполнения цикла abs(a - x0) <= e, то выводится сообщение C= и значение a, а также вычисляется значение f(a).
  7. Если abs(a - x0) > e, то выводится сообщение Answer not found!.
  8. После окончания цикла выводится сообщение Iteratsiy: k.
  9. Конец программы.

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


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

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

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