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 Симпсон немесе парабола формуласы
.
Достарыңызбен бөлісу: |