100 DEFDBL A-H, O-Z 102 C2 = SIN(EXP(1!) / 2!) * SIN(EXP(1!) / 2!) 105 DEF FNA (x AS DOUBLE) = SQR(1! - C2 * SIN(x) ^ 2) 106 DEF FNB (x AS DOUBLE) = -.5 * C2 * SIN(2! * x) / FNA(x) 107 DEF FNC (x AS DOUBLE) = -C2 * COS(2! * x) / FNA(x) - .25 * C2 * C2 * SIN(2! * x) ^ 2 / FNA(x) ^ 3 108 DEF FND (x AS DOUBLE) = 2! * C2 * SIN(2! * x) / FNA(x) - .75 * C2 * C2 * SIN(4! * x) / FNA(x) ^ 3 - .375 * C2 ^ 3 * SIN(2! * x) ^ 3 / FNA(x) ^ 5 109 DEF FNE (x AS DOUBLE) = 4! * C2 * COS(2! * x) / FNA(x) + C2 ^ 2 * SIN(2! * x) ^ 2 / FNA(x) ^ 3 - 3! * C2 ^ 2 * COS(4! * x) / FNA(x) ^ 3 - 1.125 * C2 ^ 3 * SIN(4! * x) * SIN(2! * x) / FNA(x) ^ 5 - (18! / 8!) * C2 ^ 3 * SIN(2! * x) ^ 2 * COS(2! * x) / FNA(x) ^ 5 - (15! / 16!) * C2 ^ 4 * SIN(2! * x) ^ 4 / FNA(x) ^ 7 110 A = 0! 112 INPUT "Left endpoint = "; B 114 IF (A > B) OR (B > 3.141592653589793# / 2!) THEN PRINT "Input out of range": GOTO 112 116 OPEN "92_12_14.txt" FOR APPEND AS #1 120 REM Left endpoint <= 3.141592653589793# / 2! 130 SUM1 = 0!: SUM2 = 0!: SUM3 = 0!: SUM4 = 0! 150 N = 512: H = (B - A) / N 160 FOR I = 1 TO N STEP 2: REM The "FOR" loop is done n/2 times. 170 SUM1 = SUM1 + FNB(A + (I - 1) * H) 172 SUM2 = SUM2 + FNC(A + (I - 1) * H) 174 SUM3 = SUM3 + FND(A + (I - 1) * H) 176 SUM4 = SUM4 + FNE(A + (I - 1) * H) 180 SUM1 = SUM1 + 4! * FNB(A + I * H) 182 SUM2 = SUM2 + 4! * FNC(A + I * H) 184 SUM3 = SUM3 + 4! * FND(A + I * H) 186 SUM4 = SUM4 + 4! * FNE(A + I * H) 190 SUM1 = SUM1 + FNB(A + (I + 1) * H) 192 SUM2 = SUM2 + FNC(A + (I + 1) * H) 194 SUM3 = SUM3 + FND(A + (I + 1) * H) 196 SUM4 = SUM4 + FNE(A + (I + 1) * H) 200 NEXT I 210 L$ = "##.##### ##.##### ##.##### ##.##### ##.#####" 300 PRINT USING L$; FNA(B) - FNA(A); FNB(B) - FNB(A); FNC(B) - FNC(A); FND(B) - FND(A) 310 PRINT USING L$; SUM1 * H / 3!; SUM2 * H / 3!; SUM3 * H / 3!; SUM4 * H / 3! 320 PRINT #1, USING L$; FNA(B) - FNA(A); FNB(B) - FNB(A); FNC(B) - FNC(A); FND(B) - FND(A) 330 PRINT #1, USING L$; SUM1 * H / 3!; SUM2 * H / 3!; SUM3 * H / 3!; SUM4 * H / 3! 340 CLOSE #1