Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Помогите написать программу на Паскале (http://www.tehnari.ru/f43/t86991/)

anasteishen 31.03.2013 11:55

Помогите написать программу на Паскале
 
Дано нелинейное уравнение 2-x*exp(x).
Реализовать на языке Pascal программы приближенного решения нелинейного уравнения методами простой итерации и методом Ньютона). В результате должны выводиться шаг, x, точность, погрешность и конечный х.
Найти решение с точностью 0.0001.

Vladimir_S 31.03.2013 14:48

Цитата:

Сообщение от anasteishen (Сообщение 889028)
должны выводиться шаг...

Никаких "шагов" данные методы не предусматривают.
Цитата:

Сообщение от anasteishen (Сообщение 889028)
методами простой итерации

Код:

Const
 Eps=0.0001;

Var
 x,x_bef,d:real;

Function Fi(z:real):real;
begin
 Fi:=2*Exp(-z);
end;

Begin
 x_bef:=0;
 Repeat
  x:=Fi(x_bef);
  Writeln('x= ',x:5:3,'    x*Exp(x)= ',x*Exp(x):5:3);
  d:=Abs(x_bef-x);
  x_bef:=x;
 Until d<Eps;
 Writeln('Result: x= ',x:8:6);
 Readln
End.

Цитата:

Сообщение от anasteishen (Сообщение 889028)
и методом Ньютона

Код:

Const
 Eps=0.0001;

Var
 x,x_bef,d:real;

Function F(z:real):real;
begin
 F:=2.0-z*Exp(z);
end;

Function Der(z:real):real;
begin
 Der:=-(z+1)*Exp(z);
end;

Begin
 x_bef:=0;
 Repeat
  x:=x_bef-F(x_bef)/Der(x_bef);
  Writeln('x= ',x:5:3,'    x*Exp(x)= ',x*Exp(x):5:3);
  d:=Abs(x_bef-x);
  x_bef:=x;
 Until d<Eps;
 Writeln('Result: x= ',x:8:6);
 Readln
End.



Часовой пояс GMT +4, время: 00:18.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.