Решить нелинейное уравнение методом простой итерации - Turbo Pascal

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

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

Помогите, пожалуйста, решить уравнение и записать его код в паскале. Очень нужно x^3+cos(8*x)=0 Три точности: E_1=0.00001, E_2=0.0000001, E_3=0.00000001

Решение задачи: «Решить нелинейное уравнение методом простой итерации»

textual
Листинг программы
uses crt;
function F(x:real):real;
begin
F:=x*x*x+cos(8*x);
end;
procedure Iter(a,b,e:real);
var i,n:longint;
    x1,x2,f1,f2:real;
begin
writeln('Точность=',e:0:8);
if F(a)=0 then
 begin
  writeln('x=a=',a:0:4);
  readln;
  exit;
 end
else if F(b)=0 then
 begin
  writeln('x=b=',b:0:4);
  readln;
  exit;
 end
else if F(A)*F(B)>0 then WriteLn('Границы интервала заданы некорректно!')
else
 begin
  n:=round((b-a)/e);
  x1:=a; f1:=F(x1);
  for i:=1 to n do
   begin
    x2:=x1+e;
    f2:=F(x2);
    if f1*f2 <= 0 then writeln('x = ', (x2 + x1)/2:0:8);
    x1:=x2;
    f1:=f2;
   end;
 end;
end;
var a,b:real;
begin
clrscr;
a:=0.5;
b:=0.6;
Iter(a,b,0.00001);
Iter(a,b,0.0000001);
Iter(a,b,0.00000001);
readln
end.

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

  1. В функции F(x) вычисляется значение нелинейного уравнения, заданного формулой xxx + cos(8*x).
  2. В процедуре Iter объявлены переменные i, n, x1, x2, f1, f2, которые будут использоваться для итерационного процесса.
  3. Выполняется проверка условия F(a)=0. Если это условие выполняется, то выводится сообщение о том, что точность задана неверно и точка пересечения с осью x равна a.
  4. Если F(b)=0, то выводится сообщение о том, что точность задана неверно и точка пересечения с осью x равна b.
  5. Если F(A)*F(B)>0, то выводится сообщение о том, что границы интервала заданы неверно.
  6. Иначе, выполняется итерационный процесс. Для каждой i от 1 до n (где n - округленное значение (b-a)/e) вычисляются значения x2, f2, используя формулу x2 = x1 + e и f2 = F(x2).
  7. Если f1*f2 <= 0, то выводится среднее значение x = (x2 + x1)/2.
  8. Значения x1 и f1 обновляются для следующей итерации, а значение f2 заменяется на f1.
  9. После завершения итерационного процесса выводится сообщение о том, что точность задана неверно.
  10. Конец программы.

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


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

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

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