Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
290 lines (230 sloc) 15.5 KB
COMMENT
SAMPLE PROGRAM FROM APPENDIX C (PAGE 34) IN THE PROGRAMMERS MANUAL
OF THE BURROUGHS ALGEBRAIC COMPILER FOR THE 205, PRELMINARY
EDITION, BULLETIN 3041, FEBRUARY 1961, BURROUGHS CORPORATION,
PASADENA, CALIFORNIA$
BEGIN PROCEDURE SIMPS(A, B, EPSILON, BOUND$ VALUE$ F())$
0071 0 0001 30 0000
BEGIN COMMENT
A,B ARE LIMITS OF INTEGRATION. EPSILON IS PERMISSIBLE DIFFERENCE
BETWEEN TWO SUCCESSIVE SUMS. BOUND IS UPPER BOUND FOR ABS(F(X))
IN THE INTERVAL (A,B). VALUE IS THE ANSWER. F() IS THE FUNCTION
TO BE INTEGRATED BY SIMPSONS RULE$
TH = B-A$
IBAR = BOUND.TH$
N = 1$
J = 0.5(F(A)+F(B))TH$
0072 0 0001 30 0000
0073 0 0000 08 0137
0074 0 0000 08 0969
0075 0 0000 80 6019
0076 0 0000 82 5017
0077 0 0000 80 5018
0078 0 0000 02 0000
0079 0 0000 65 0072
0080 0 0000 80 0073
0081 0 0004 12 6019
0082 0 0000 64 6019
0083 0 0000 82 0075
0084 0 0004 12 6018
0085 0 0000 64 7091
0086 0 0004 12 6017
0087 0 0000 64 0072
0088 0 0000 72 0077
0089 1 0000 02 0000
0090 0 0001 30 0092
0091 0 5110 00 0000
0092 0 0000 64 7094
0093 1 0001 30 0001
0094 0 0001 30 0095
0095 0 0000 02 5019
0096 0 0000 64 0073
0097 0 0000 72 0077
0098 1 0000 02 0000
0099 0 0000 64 7101
0100 1 0001 30 0001
0101 0 0001 30 0102
LOOP..
H = 0.5TH$
S = 0$
FOR K = (A+H, TH, B)$
0102 0 0000 80 5019
0103 0 0000 82 6019
0104 0 0000 82 7115
0105 0 0004 12 6016
0106 0 0000 64 6019
0107 0 0000 82 7116
0108 0 0004 12 6015
0109 0 0000 02 7109
0110 0 0004 12 6014
0111 0 0000 64 6015
0112 0 0000 80 0072
0113 0 0004 12 6013
0114 0 0001 30 0000
0115 0 5050 00 0000
0116 0 5050 00 0000
3999 0 0001 20 0114
S = S+F(K)$
0117 0 0000 64 6019
0118 0 0000 80 6013
0119 0 0004 12 6013
0120 0 0000 81 0073
0121 0 0000 74 7125
0122 0 0001 38 0000
0123 0 0000 64 7126
0124 0 0001 30 0000
0125 0 9999 99 9999
0126 0 0001 30 0117
3998 0 0001 27 0122
0127 0 0001 30 0000
3997 0 0001 28 0124
I = J+4H.S$
0128 0 0000 02 0000
0129 0 0000 64 6013
0130 0 0000 72 0077
0131 1 0000 02 0000
0132 0 0000 64 7134
0133 1 0001 30 0001
0134 0 0001 30 0135
3996 0 0001 37 0128
0135 0 0000 80 6014
0136 0 0004 12 6014
0137 0 0000 08 1359
3995 0 0001 38 0127
IF ABS(I-IBAR) LEQ EPSILON$
BEGIN
0138 0 0000 64 6014
0139 0 0000 82 6015
0140 0 0000 82 7151
0141 0 0000 80 6016
0142 0 0004 12 6012
0143 0 0000 65 6018
0144 0 0000 80 6012
0145 0 0000 02 5019
0146 0 0000 66 5019
0147 0 0000 81 0074
0148 0 0000 74 7152
0149 0 0001 38 0000
0150 0 0001 30 0000
0151 0 5140 00 0000
0152 0 9999 99 9999
VALUE = I/3$
RETURN
END$
0153 0 0000 64 6012
0154 0 0000 33 0010
0155 0 0000 83 7161
0156 0 0000 02 5019
0157 0 0000 72 0076
0158 0 0000 64 5019
0159 1 0004 12 0000
0160 0 0001 20 0078
0161 0 5130 00 0000
IBAR = I$
3994 0 0401 53 0150
3993 0 0001 62 0149
J = 0.25(I+J)$
N = N+N$
TH = H$
GO TO LOOP
0162 0 0000 64 6012
0163 0 0004 12 6018
0164 0 0000 64 6016
0165 0 0000 80 6012
0166 0 0000 82 7174
0167 0 0004 12 6016
0168 0 0000 64 6017
0169 0 0000 80 6017
0170 0 0004 12 6017
0171 0 0000 64 6015
0172 0 0004 12 6019
0173 0 0005 30 0106
0174 0 5025 00 0000
END
END$
3992 0 0001 75 0160
0175 0 0000 08 1359
3991 0 0001 76 0071
BEGIN PROCEDURE DARCTAN(X)$
0176 0 0001 30 0000
BEGIN
DARCTAN() = 1/(X*2+1)$
RETURN
END
END$
0177 0 0001 30 0000
0178 0 0000 02 0000
0179 0 0000 64 0177
0180 0 0000 82 0177
0181 0 0000 80 7187
0182 0 0000 02 5017
0183 0 0000 64 7188
0184 0 0000 33 0010
0185 0 0000 83 5017
0186 0 0001 20 0178
0187 0 5110 00 0000
0188 0 5110 00 0000
3990 0 0001 89 0186
0189 0 0000 08 1359
3989 0 0001 90 0176
COMMENT NOW THE PROGRAM PROPER FOLLOWS$
SIMPS(0.0, 1.0, 1*-5, 2.0$ S$ DARCTAN())$
0190 0 0000 02 7190
0191 0 0000 02 0072
0192 0 0000 64 7199
0193 0 0000 02 0073
0194 0 0000 65 7200
0195 0 0000 02 4000
0196 0 0000 64 7201
0197 0 0000 72 7202
0198 0 0001 30 3967
0199 0 5110 00 0000
0200 0 0000 00 0005
0201 0 0000 00 0001
0202 0 0001 30 0203
0203 0 0000 02 0074
0204 0 0000 64 7212
0205 0 0000 02 0075
0206 0 0000 64 7213
0207 0 0000 02 0076
0208 0 0000 64 7214
0209 0 0000 02 0077
0210 0 0000 64 7215
0211 0 0001 30 0078
0212 0 5120 00 0000
0213 0 0000 00 6011
0214 0 0000 00 0177
0215 0 0001 30 0216
WRITE($$ A, B)$
0216 0 0000 64 7218
0217 0 0000 20 7219
0218 0 0005 30 0000
0219 0 0000 02 3544
0220 0 0000 64 7222
0221 0 0000 20 7223
0222 0 0005 30 0000
0223 0 0000 02 3545
0224 0 0000 64 7226
0225 0 0001 30 3546
0226 0 0001 30 0227
STOP$
OUTPUT A(S)$
0227 0 0000 08 0137
0228 0 0001 30 0000
3988 0 0002 29 0218
FORMAT B(X11.8, T1)$
0229 0 0000 64 6011
0230 0 0000 72 7232
0231 0 0001 20 0070
0232 0 0001 30 0233
0233 0 0000 64 7233
0234 0 0000 01 0004
0235 0 0001 20 0070
3987 0 0002 36 0228
0236 0 0001 30 0000
3986 0 0002 37 0222
0237 0 6781 81 0188
0238 0 0863 81 0900
FINISH$
3985 0 0002 39 0236
0239 0 0001 30 0240