CALL IDRES(X1,X2,EPS,X,K)
10 STOP
END
SUBROUTINE PRITE (A,B,EPS,X,K)
* РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
* МЕТОДОМ ПРОСТЫХ ИТЕРАЦИЙ
F1=ABS (FJ1 (A))
IF (F1.GE.1.) GO TO 2
F2=ABS (FJ1 (B))
IF (F2.GE.1.) GO TO 4
PRINT*, ‘ВВЕДИТЕ ДОПУСКАЕМУЮ
*ПОГРЕШНОСТЬ EPS ’
READ (5,*) EPS
K= 0
X0 = (A+B)* 0.5
1 X = FJ (X0)
K= K+1
IF ( ABS (F(X)).LE. EPS) GO TO 5
IF ( ABS (X-X0).LE. EPS) GO TO 5
X0 = X
GO TO 1
2 PRINT 3, F1
3 FORMAT (3X,’ЕСЛИ ПЕРВАЯ ПРОИЗВОДНАЯ
*ЭКВИВАЛЕНТНОГО УРАВНЕНИЯ’,
*’FJ1=’,F8.2,’ >1’/ 3X,’ТО МЕТОД ПРОСТЫХ
*ИТЕРАЦИЙ, К РЕШЕНИЮ ДАННОГО
*УРАВНЕНИЯ, НЕПРЕМЕНИМ’)
GO TO 5
4 PRINT 3,F2
5 RETURN
END
FUNCTION F(X)
* Решаемое уравнение
F=X-COS(X)-.25
END
FUNCTION FJ(X)
* Эквивалентное уравнение
FJ=COS(X)+0.25
END
FUNCTION FJ1(X)
* Производная эквивалентного уравнения
FJ1= -SIN(X)
END
Примечания. 1. Все подпрограммы, вызываемые главной программой, должны быть записаны в одном файле с главной программой.
2. Текст подпрограммы OTKOR приведен в приложении 1,
подпрограммы IDRES – в приложении 2.