Практикум Павлодар (075. 8) Ббк-32. 98-02я73 с д 72. Т. Дүзелбаев, Т. С. Сабыров


Сызықсыз теңдеулерді шешудің программалық листингі



бет134/145
Дата31.01.2018
өлшемі16,08 Mb.
#36526
түріПрактикум
1   ...   130   131   132   133   134   135   136   137   ...   145

2 Сызықсыз теңдеулерді шешудің программалық листингі
program dihotomi;

uses crt;

label 1,2,3;

var a,b,c,x,eps:real;

function f(x:real):real;

begin


f:=sqr(x)-5*sin(x);

end;


begin

window(1,1,80,25);

TEXTBACKGROUND(3);

clrscr;


textcolor(1);

writeln('****************************************************');

writeln('* *');

writeln('* Данной программой решается нелинейное уравнение *');

writeln('* f(x) = 0 методом половинного деления *');

writeln('* *');

writeln('****************************************************');

writeln;


WINDOW(10,7,60,9);

TEXTBACKGROUND(5);

CLRSCR;

TEXTCOLOR(7);



1: writeln('Введите a,b,eps');

readln(a,b,eps);

if f(a)*f(b)>0 then

begin


WINDOW(15,10,65,12);

TEXTBACKGROUND(5);

CLRSCR;

TEXTCOLOR(8);



writeln('нет решения в [a,b]');

goto 1


end;

begin


3: if abs(b-a)>2*eps then c:=(a+b)/2

else goto 2;

end;

begin


if f(a)*f(c)<=0

then b:=c else a:=c;

goto 3

end;


readln;

2: x:=(a+b)/2;

WINDOW(20,14,70,16);

TEXTBACKGROUND(2);

CLRSCR;

TEXTCOLOR(12);



writeln('Решение нелинейного уравнения Х=',x:7:5);

readln;


end.

****************** **************** *******************



program horda;

uses crt;

label

1,2,3;


var

x,a,b,eps,c:real;

k:integer;

function f(x:real):real;

begin

f:=sqr(x)-5*sin(x);



end;

function f1(x:real):real;

begin

f1:= 2+sin(x);



end;

begin


window(1,1,80,25);

TEXTBACKGROUND(1);

clrscr;

textcolor(13);



writeln('****************************************************');

writeln('* *');

writeln('* Данной программой решается нелинейное уравнение *');

writeln('* f(x) = 0 методом хорд *');

writeln('* *');

writeln('****************************************************');

writeln;

WINDOW(15,7,65,10);

TEXTBACKGROUND(0);

CLRSCR;


TEXTCOLOR(9);

writeln('Введите a,b,eps');

readln(a,b,eps);

k:=0;


if f(b)*f1(a)>0

then


begin

x:=a;


goto 1

end;


if f(a)*f1(b)>0

then


begin

x:=b;


goto 2

end;


1: c:=x-(b-x)*f(x)/(f(b)-f(x));

if abs(x-c)<=eps

then

goto 3


else

begin


x:=c;

k:=k+1;


end;

goto 1;


2: c:=a-(x-a)*f(a)/(f(x)-f(a));

if abs(x-c)<=eps

then

goto 3


else

begin


x:=c;

k:=k+1;


end;

goto 2;


3: WINDOW(15,14,65,18);

TEXTBACKGROUND(3);

CLRSCR;

TEXTCOLOR(5);



writeln('Решение нелинейного уравнения Х=',c:7:4);

writeln('Число итерации k=',k);

readln;

end.
********************** ****************** ***************



PROGRAM NEWTON;

USES CRT;

LABEL 1,2;

VAR


X,X1,C,EPS:REAL;

K:INTEGER;

FUNCTION F(X:REAL):REAL;

VAR


Y,Y1:REAL;

BEGIN


Y:=SQR(X)-5*SIN(X);

Y1:=2*X-5*COS(X);

F:=Y/Y1;

END;


BEGIN

WINDOW (1,1,80,25);

TEXTBACKGROUND(1);

CLRSCR;


writeln('****************************************************');

writeln('* *');

writeln('* Данной программой решается нелинейное уравнение *');

writeln('* f(x) = 0 методом касательных (Ньютона) *');

writeln('* *');

writeln('****************************************************');

writeln;

WINDOW(15,7,65,10);

TEXTBACKGROUND(0);

CLRSCR;


TEXTCOLOR(9);

WRITELN ('ВВЕДИТЕ ЗНАЧЕНИЕ.С,EPS');

READLN (C,EPS);

X:=C;


K:=0;

1: X1:=X-F(X);

IF ABS(X-X1)<=EPS

THEN GOTO 2

ELSE

BEGIN


K:=K+1;

X:=X1;


END;

GOTO 1;


2: WINDOW (15,12,65,16);

TEXTBACKGROUND(5);

CLRSCR;

TEXTCOLOR(7);



WRITELN ('РЕШЕНИЕ УРАВНЕНИЯ X=',X:7:4);

WRITELN('ЧИСЛО ИТЕРАЦИИ К=',K);

READLN

END.
******************* *************** ***********************



PROGRAM ITER;

USES CRT;

LABEL 1,2;

FUNCTION F(X:REAL):REAL;

BEGIN

F:=LN(10*X);



END;

VAR


X,C,EPS:REAL;

K:INTEGER;

BEGIN

WINDOW (1,1,80,25);



TEXTBACKGROUND(1);

CLRSCR;


writeln('****************************************************');

writeln('* *');

writeln('* Данной программой решается нелинейное уравнение *');

writeln('* f(x) = 0 методом простой итерации *');

writeln('* *');

writeln('****************************************************');

writeln;

WINDOW(15,5,65,15);

TEXTBACKGROUND(0);

CLRSCR;


TEXTCOLOR(9);

WRITELN ('ВВЕДИТЕ ЗНАЧЕНИЕ.С,EPS');

READLN (C,EPS);

K:=0;


1: X:=F(C);K:=K+1;

IF ABS(X-C)

THEN GOTO 2

ELSE


BEGIN

C:=X;


GOTO 1

END;


2: WINDOW (15,16,65,23);

TEXTBACKGROUND(5);

CLRSCR;

TEXTCOLOR(7);



WRITELN ('РЕШЕНИЕ УРАВНЕНИЯ X=',X:7:4);

WTITELN(‘ЧИСЛО ИТЕРАЦИИ К=’,K);



READLN

END.
****************** ***************** **************


3 қосымша
1 Интегралдаудың сандық әдістері
1.1 Трапеция формуласы:
,
Бұл арада:



1.2 Симпсон немесе парабола формуласы
.


Достарыңызбен бөлісу:
1   ...   130   131   132   133   134   135   136   137   ...   145




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет