awesome. forgot to attach.
rename to opt.exe from opt.zip.
poly doesn't like exe attachments.
rename to opt.exe from opt.zip.
poly doesn't like exe attachments.
IMPLICIT DOUBLE PRECISION(A, T, X-Z)
IMPLICIT INTEGER(B-S, U-W)
COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z
SAVE/PARAMS/
COMMON/VARS/S(5),W
SAVE/VARS/
SMAX(1)=8
SMAX(2)=12
SMAX(3)=16
SMAX(4)=20
SMAX(5)=24
PRINT *, "Enter E1"
READ *, SCOEFF(1)
PRINT *, "Enter E2"
READ *, SCOEFF(2)
PRINT *, "Enter E3"
READ *, SCOEFF(3)
PRINT *, "Enter E4"
READ *, SCOEFF(4)
PRINT *, "Enter E5"
READ *, SCOEFF(5)
PRINT *, "Enter x"
READ *, X
PRINT *, "Enter Z"
READ *, Z
T = TMIN()
PRINT *, S(1), S(2), S(3), S(4), S(5), W, T
RETURN
END
DOUBLE PRECISION FUNCTION TMIN()
IMPLICIT DOUBLE PRECISION(A, T, X-Z)
IMPLICIT INTEGER(B-S, U-W)
DIMENSION SMIN(5)
COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z
SAVE/PARAMS/
COMMON/VARS/S(5),W
SAVE/VARS/
TMIN = 1.0D10
DO 103 I1=0,1
DO 113 I2=0,1
DO 123 I3=0,1
DO 133 I4=0,1
DO 143 I5=0,1
DO 153 W=1,9
S(1)=I1*SMAX(1)
S(2)=I2*SMAX(2)
S(3)=I3*SMAX(3)
S(4)=I4*SMAX(4)
S(5)=I5*SMAX(5)
T=TCALC()
IF(T.LE.TMIN) THEN
TMIN=T
DO 173 J=1, 5
SMIN(J)=S(J)
173 CONTINUE
WMIN=W
ENDIF
153 CONTINUE
143 CONTINUE
133 CONTINUE
123 CONTINUE
113 CONTINUE
103 CONTINUE
DO 183 J=1, 5
S(J)=SMIN(J)
183 CONTINUE
W=WMIN
END
DOUBLE PRECISION FUNCTION TCALC()
IMPLICIT DOUBLE PRECISION(A, T, X-Z)
IMPLICIT INTEGER(B-S, U-W)
COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z
SAVE/PARAMS/
COMMON/VARS/S(5),W
SAVE/VARS/
TCALC = 1.0D10
C = CCALC(W,Z)
A = ACALC()
H = HCALC()
IF(H.LT.1) GOTO 104
TCALC = C*A/H
104 RETURN
END
INTEGER FUNCTION CCALC(W,Z)
DOUBLE PRECISION Z
INTEGER W
CCALC = INT(9.0/(W*(1.0+Z))-0.00001)+1
END
INTEGER FUNCTION HCALC()
IMPLICIT DOUBLE PRECISION(A, T, X-Z)
IMPLICIT INTEGER(B-S, U-W)
COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z
SAVE/PARAMS/
COMMON/VARS/S(5),W
SAVE/VARS/
HCALC = 0
DO 105 I = 1, 5
HCALC=HCALC+SCOEFF(I)*S(I)
105 CONTINUE
END
DOUBLE PRECISION FUNCTION ACALC()
IMPLICIT DOUBLE PRECISION(A, T, X-Z)
IMPLICIT INTEGER(B-S, U-W)
COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z
SAVE/PARAMS/
COMMON/VARS/S(5),W
SAVE/VARS/
ACALC = X
DO 106 I = 1, 5
ACALC=ACALC+120.0*W*S(I)
106 CONTINUE
END
Comment