Автор: Алинв Алешечкина, 09 Июня 2010 в 14:04, шпаргалка
нахождение корней уравнения методом сканирования
PROGRAM SCAN;
CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение);
VAR I:INTEGER; H,X:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
BEGIN
X:=X1;
H:=(X2-X1)/N;
FOR I:=1 TO N DO BEGIN
IF F(X)*F(X+H)<=0 THEN WRITELN(X);
X:=X+H;
END;
END.
ЧИСЛЕННЫЕ
МЕТОДЫ.
PROGRAM SCAN;
CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение);
VAR I:INTEGER; H,X:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
BEGIN
X:=X1;
H:=(X2-X1)/N;
FOR I:=1 TO N DO BEGIN
IF F(X)*F(X+H)<=0 THEN WRITELN(X);
X:=X+H;
END;
END.
PROGRAM DELEN;
CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение); E=0.001;
VAR I:INTEGER; H,X,C:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
PROCEDURE PD(A,B:REAL);
BEGIN
WHILE ABS(B-A)>E DO BEGIN
C:=(A+B)/2;
IF F(A)*F(B)<=0 THEN B:=C
ELSE A:=C;
END;
WRITELN(C);
END;
BEGIN
X:=X1;
H:=(X2-X1)/N;
FOR I:=1 TO N DO BEGIN
IF F(X)*F(X+H)<=0 THEN PD(X,X+H);
X:=X+H;
END;
END.
PROGRAM XOPDA;
CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение); E=0.001;
VAR I:INTEGER; H,X,C,C1:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
PROCEDURE PD(A,B:REAL);
BEGIN
REPEAT C1:=C;
C:=A-(F(A)*(B-A))/(F(B)-F(A))
IF F(A)*F(B)<=0 THEN B:=C
ELSE A:=C;
UNTIL ABS(C1-C)<E;
WRITELN(C);
END;
BEGIN
X:=X1;
H:=(X2-X1)/N;
FOR I:=1 TO N DO BEGIN
IF F(X)*F(X+H)<=0 THEN PD(X,X+H);
X:=X+H;
END;
END.
PROGRAM ITERA;
CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение); E=0.001;
VAR I:INTEGER; H,X,X3:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
FUNCTION FI(X:REAL):REAL;
BEGIN
FI:=… (Функция );
END;
PROCEDURE PD(X:REAL);
BEGIN
REPEAT X3:=X;
X:=FI(X);
UNTIL ABS(X3-X)<E;
WRITELN(X);
END;
BEGIN
X:=X1;
H:=(X2-X1)/N;
FOR I:=1 TO N DO BEGIN
IF F(X)*F(X+H)<=0 THEN PD(X);
X:=X+H;
END;
END.
PROGRAM NIUTON;
CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение); E=0.001; DX=0.0001;
VAR I:INTEGER; H,X,X3:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
FUNCTION F1(X:REAL):REAL;
BEGIN
F1:=(F(X+DX)-F(X+DX))(2*DX);
END;
PROCEDURE PD(X:REAL);
BEGIN
REPEAT X3:=X;
X:=X-F(X)/F1(X);
UNTIL ABS(X3-X)<E;
WRITELN(X);
END;
BEGIN
X:=X1;
H:=(X2-X1)/N;
FOR I:=1 TO N DO BEGIN
IF F(X)*F(X+H)<=0 THEN PD(X);
X:=X+H;
END;
END.
PROGRAM PRIAM;
VAR I,N:INTEGER; H,X,S,A,B,K:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
PROCEDURE PD(A,B,K:REAL);
BEGIN
H:=(B-A)/H;
X:=K;S:=0;
FOR I:=1 TO N DO BEGIN S:=S+F(X);
X:=X+H;
END;
S:=S*H;
WRITELN(S);
END;
BEGIN
READ(A,B,N);
PD(A,B,A); ‘ ЛЕВЫЕ
PD(A,B,A+H); ‘ ПРАВЫЕ
PD(A,B,A+H/2); ‘ СРЕДНИЕ
END.
PROGRAM TRAPEZ;
VAR I,N:INTEGER; H,X,S,A,B:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
PROCEDURE PD(A,B:REAL);
BEGIN
S:=0;H:=(B-A)/N;
S:=(F(A)+F(B))/2;
X:=A+H;
FOR I:=1 TO N-1 DO BEGIN
S:=S+F(X);
X:=X+H;
END;
WRITELN(S*H);
END;
BEGIN
READ (A,B,N);
PD(A,B);
END.
PROGRAM SIMPSON;
VAR I,N:INTEGER; H,X,S,A,B,S1:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
PROCEDURE PD(A,B:REAL);
BEGIN
S:=0; H:=(B-A)/(2*N);
X:=A+H;
FOR I:=1 TO N DO BEGIN
S:=S+F(X);
X:=X+2*H;
END;
S1:=0; X:=A+2*H;
FOR I:=1 TO N-1 DO BEGIN
S1:=S1+F(X);
X:=X+2*H;
END;
S:=S*4;
S1:=S1*2;
WRITELN(H/3*(F(A)+F(B)+S+S1));
END;
BEGIN
READ (A,B,N);
PD(A,B);
END.
PROGRAM SECHEN;
CONST E=0.001;
VAR I:INTEGER; H,G,X,X1,X2:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
PROCEDURE PD(A,B:REAL);
BEGIN
G:=(SQRT(5)-1)/2;
X1:=A+G*(B-A);
X2:=B-G*(B-A);
REPEAT
IF F(X1)<F(X2) THEN BEGIN
A:=X2; X2:=X1; X1:=A+G*(B-A);
END;
UNTIL ABS(B-A)<E;
WRITELN(X1);
END;
BEGIN
READ(X,H);
IF F(X)<F(X+H) THEN H:=-H;
REPEAT X:=X+H;
UNTIL F(X)<F(X+H)
PD(X-H,X+H);
WRITELN(X-H,X+H);
WRITELN;
END.