Sharp PC-E500/E500S Technikersoftware

INTGRL.131

Rombergsche Methode

INTGRL.131 (1.565 Bytes)

10 ' ROMBERG.131 (Romberg's method)
20 CLEAR :MERGE "G:COMN.00$"
30 ON ERROR GOTO *ERR
40 GOSUB *CG
50 RADIAN :R2$="":P1=0:Q2=P1:Q2=0.000001:P5=10:DIM P1(P5)
60 GOSUB 900
70 PRINT "f(x)= ";R2$;:IF R2$<>"" PRINT " ";
80 INPUT R2$:IF R2$="" THEN 70
90 IF LEN R2$<30 THEN P3$=R2$ :GOTO 110
100 P3$=LEFT$ (R2$,30)+"..."
110 GOSUB 800:PRINT " a= ";:P1=0:INPUT P1
120 GOSUB 800:PRINT " a=";P1:PRINT " b= ";:Q1=0:INPUT Q1
130 GOSUB 900:PRINT CHR$ &A5;"=";Q2;:INPUT Q2:IF Q2<1E-10 THEN 130
140 GOSUB 900:PRINT CHR$ &A5;"=";Q2:PRINT " division limit=";P5;:INPUT P5
150 IF P5-INT P5<>0 OR P5<=0 THEN 140
160 GOSUB 700:GOSUB *DPC
170 Q3=Q1-P1:X=P1:P3=EVAL R2$:X=Q1:R2=EVAL R2$:P1(0)=(P3+R2)*Q3/2
180 FOR QI=1 TO P5:Q3=Q3/2
190 P7=0:FOR QJ=1 TO 2^QI-1 STEP 2:X=P1+QJ*Q3:P7=P7+EVAL R2$:NEXT
200 P1(QI)=P1(QI-1)/2+Q3*P7
210 Q5=1:FOR Q4=QI-1 TO 0 STEP -1
220 P1(Q4)=P1(Q4+1)+(P1(Q4+1)-P1(Q4))/(4^Q5-1)
230 IF Q2>=ABS (P1(Q4+1)-P1(Q4)) THEN X=P1(Q4):GOTO 300
240 Q5=Q5+1:NEXT :NEXT :GOSUB 280
250 GOSUB 700
260 LOCATE 1,3:PRINT "division limit=";P5:LOCATE 20,3:PRINT ":An=";STR$ (P1(P5-1))
270 GOTO 320
280 GOSUB 900:GOSUB *DPA:GOSUB *REK:RETURN
300 QXQ=X:QYQ=INT LOG ABS Q2-1:GOSUB *RND:X=QXQ
310 GOSUB 700:LOCATE 1,3:PRINT CHR$ &D0;"dx=";X
320 GOSUB *REK:GOTO 60
700 GOSUB 900:PRINT CHR$ &D0;" ";P3$;" dx":RETURN
800 GOSUB 900:PRINT "f(x)= ";P3$:RETURN
900 CLS :PRINT "         *  ROMBERG'S METHOD  *":LOCATE 1,1:RETURN
1000 *ERR IF ERL =80 RESUME 70
1010 IF ERL =110 OR ERL =120 OR ERL =130 OR ERL =140 RESUME ERL
1020 GOSUB 280:RESUME 60

Generated by (c) Casio FX-850P/FX-880P Notepad 2.02

(c) by mani.becker@web.de - http://blog.manib.bplaced.net