|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2528 (0x9e0)
Types: TextFile
Notes: Mikados_K
Names: »BISECTIO.K«
└─⟦4cd80c18f⟧ Bits:30003895/4xCOMAL3a.imd 4 * COMAL - SPC/1 - Disketter til bogen
└─⟦this⟧ »BISECTIO.K«
└─⟦bcf7b34c7⟧ Bits:30003895/4xCOMAL2.imd 4 * COMAL - SPC/1 - Disketter til bogen
└─⟦this⟧ »BISECTIO.K«
0010 // ------------------------- bisection ------------------------ 0020 // 0030 PROC FNF(X1) 0040 FNF:=X1*X1-3*X1-4 0050 ENDPROC FNF 0060 // 0070 CLEAR 0080 DIM S$ OF 1 0085 INTEGER I 0090 PRINT "Bisection" 0100 PRINT 0110 REPEAT 0120 REPEAT 0130 INPUT "Indtast intervallets venstre endepunkt: ":VENSTRE 0140 INPUT "Indtast intervallets højre endepunkt: ":HØJRE 0150 UNTIL HØJRE-VENSTRE>0 0160 GLVENSTRE:=VENSTRE;GLHØJRE:=HØJRE 0170 FV:=FNF(VENSTRE) 0175 FH:=FNF(HØJRE) 0180 I:=0 0190 IF FV*FH>0 THEN 0200 PRINT "Funktionen har ikke modsat fortegn i ";VENSTRE;" og ";HØJRE 0210 PRINT 0220 INPUT " Tast 'Return!":S$ 0230 CLEAR 0240 ENDIF 0250 UNTIL FV*FH<=0 0260 INPUT "Indtast den nøjagtighed hvormed roden ønskes bestemt: ":EPS 0270 REPEAT 0280 I:=I+1 0290 MIDTPUNKT:=(HØJRE+VENSTRE)/2 0300 FM:=FNF(MIDTPUNKT) 0310 IF FV*FM<=0 THEN 0320 HØJRE:=MIDTPUNKT 0330 FH:=FM 0340 ELSE 0350 VENSTRE:=MIDTPUNKT 0360 FV:=FM 0370 ENDIF 0380 UNTIL HØJRE-VENSTRE<2*EPS 0390 ROD:=(HØJRE+VENSTRE)/2 0400 PRINT 0410 PRINT "Efter ";I;" halveringer af intervallet fra ";GLVENSTRE;" til "; 0420 PRINT GLHØJRE;" er roden med "; 0430 PRINT "en nøjagtighed på ";EPS;" fundet til: ";ROD
0x000…046 Line {l1=0x44, l2=»0010 // ------------------------- bisection ------------------------«, l3=0x44}
0x046…050 Line {l1=0x08, l2=»0020 // «, l3=0x08}
0x050…063 Line {l1=0x11, l2=»0030 PROC FNF(X1)«, l3=0x11}
0x063…07b Line {l1=0x16, l2=»0040 FNF:=X1*X1-3*X1-4«, l3=0x16}
0x07b…08d Line {l1=0x10, l2=»0050 ENDPROC FNF«, l3=0x10}
0x08d…097 Line {l1=0x08, l2=»0060 // «, l3=0x08}
0x097…0a4 Line {l1=0x0b, l2=»0070 CLEAR «, l3=0x0b}
0x0a4…0b6 Line {l1=0x10, l2=»0080 DIM S$ OF 1«, l3=0x10}
0x0b6…0c6 Line {l1=0x0e, l2=»0085 INTEGER I«, l3=0x0e}
0x0c6…0de Line {l1=0x16, l2=»0090 PRINT "Bisection"«, l3=0x16}
0x0de…0eb Line {l1=0x0b, l2=»0100 PRINT «, l3=0x0b}
0x0eb…0f9 Line {l1=0x0c, l2=»0110 REPEAT «, l3=0x0c}
0x0f9…107 Line {l1=0x0c, l2=»0120 REPEAT «, l3=0x0c}
0x107…148 Line {l1=0x3f, l2=»0130 INPUT "Indtast intervallets venstre endepunkt: ":VENSTRE«, l3=0x3f}
0x148…187 Line {l1=0x3d, l2=»0140 INPUT "Indtast intervallets højre endepunkt: ":HØJRE«, l3=0x3d}
0x187…1a3 Line {l1=0x1a, l2=»0150 UNTIL HØJRE-VENSTRE>0«, l3=0x1a}
0x1a3…1cb Line {l1=0x26, l2=»0160 GLVENSTRE:=VENSTRE;GLHØJRE:=HØJRE«, l3=0x26}
0x1cb…1e2 Line {l1=0x15, l2=»0170 FV:=FNF(VENSTRE)«, l3=0x15}
0x1e2…1f7 Line {l1=0x13, l2=»0175 FH:=FNF(HØJRE)«, l3=0x13}
0x1f7…202 Line {l1=0x09, l2=»0180 I:=0«, l3=0x09}
0x202…219 Line {l1=0x15, l2=»0190 IF FV*FH>0 THEN «, l3=0x15}
0x219…262 Line {l1=0x47, l2=»0200 PRINT "Funktionen har ikke modsat fortegn i ";VENSTRE;" og ";HØJRE«, l3=0x47}
0x262…26f Line {l1=0x0b, l2=»0210 PRINT «, l3=0x0b}
0x26f…2be Line {l1=0x4d, l2=»0220 INPUT " Tast 'Return!":S$«, l3=0x4d}
0x2be…2cb Line {l1=0x0b, l2=»0230 CLEAR «, l3=0x0b}
0x2cb…2d8 Line {l1=0x0b, l2=»0240 ENDIF «, l3=0x0b}
0x2d8…2ed Line {l1=0x13, l2=»0250 UNTIL FV*FH<=0«, l3=0x13}
0x2ed…338 Line {l1=0x49, l2=»0260 INPUT "Indtast den nøjagtighed hvormed roden ønskes bestemt: ":EPS«, l3=0x49}
0x338…346 Line {l1=0x0c, l2=»0270 REPEAT «, l3=0x0c}
0x346…353 Line {l1=0x0b, l2=»0280 I:=I+1«, l3=0x0b}
0x353…376 Line {l1=0x21, l2=»0290 MIDTPUNKT:=(HØJRE+VENSTRE)/2«, l3=0x21}
0x376…38f Line {l1=0x17, l2=»0300 FM:=FNF(MIDTPUNKT)«, l3=0x17}
0x38f…3a7 Line {l1=0x16, l2=»0310 IF FV*FM<=0 THEN «, l3=0x16}
0x3a7…3be Line {l1=0x15, l2=»0320 HØJRE:=MIDTPUNKT«, l3=0x15}
0x3be…3cb Line {l1=0x0b, l2=»0330 FH:=FM«, l3=0x0b}
0x3cb…3d7 Line {l1=0x0a, l2=»0340 ELSE «, l3=0x0a}
0x3d7…3f0 Line {l1=0x17, l2=»0350 VENSTRE:=MIDTPUNKT«, l3=0x17}
0x3f0…3fd Line {l1=0x0b, l2=»0360 FV:=FM«, l3=0x0b}
0x3fd…40a Line {l1=0x0b, l2=»0370 ENDIF «, l3=0x0b}
0x40a…42a Line {l1=0x1e, l2=»0380 UNTIL HØJRE-VENSTRE<2*EPS«, l3=0x1e}
0x42a…447 Line {l1=0x1b, l2=»0390 ROD:=(HØJRE+VENSTRE)/2«, l3=0x1b}
0x447…454 Line {l1=0x0b, l2=»0400 PRINT «, l3=0x0b}
0x454…4a1 Line {l1=0x4b, l2=»0410 PRINT "Efter ";I;" halveringer af intervallet fra ";GLVENSTRE;" til ";«, l3=0x4b}
0x4a1…4c7 Line {l1=0x24, l2=»0420 PRINT GLHØJRE;" er roden med ";«, l3=0x24}
0x4c7…502 Line {l1=0x39, l2=»0430 PRINT "en nøjagtighed på ";EPS;" fundet til: ";ROD«, l3=0x39}
0x502…520 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ cccccccccccccccccccccccccccc┆
0x520…540 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆cccccccccccccccccccccccccccccccc┆
[…0x25…]
D0010 // ------------------------- bisection ------------------------D▶08◀0020 // ▶08◀▶11◀0030 PROC FNF(X1)▶11◀▶16◀0040 FNF:=X1*X1-3*X1-4▶16◀▶10◀0050 ENDPROC FNF▶10◀▶08◀0060 // ▶08◀▶0b◀0070 CLEAR ▶0b◀▶10◀0080 DIM S$ OF 1▶10◀▶0e◀0085 INTEGER I▶0e◀▶16◀0090 PRINT "Bisection"▶16◀▶0b◀0100 PRINT ▶0b◀\f 0110 REPEAT \f \f 0120 REPEAT \f ?0130 INPUT "Indtast intervallets venstre endepunkt: ":VENSTRE?=0140 INPUT "Indtast intervallets højre endepunkt: ":HØJRE=▶1a◀0150 UNTIL HØJRE-VENSTRE>0▶1a◀&0160 GLVENSTRE:=VENSTRE;GLHØJRE:=HØJRE&▶15◀0170 FV:=FNF(VENSTRE)▶15◀▶13◀0175 FH:=FNF(HØJRE)▶13◀ 0180 I:=0 ▶15◀0190 IF FV*FH>0 THEN ▶15◀G0200 PRINT "Funktionen har ikke modsat fortegn i ";VENSTRE;" og ";HØJREG▶0b◀0210 PRINT ▶0b◀M0220 INPUT " Tast 'Return!":S$M▶0b◀0230 CLEAR ▶0b◀▶0b◀0240 ENDIF ▶0b◀▶13◀0250 UNTIL FV*FH<=0▶13◀I0260 INPUT "Indtast den nøjagtighed hvormed roden ønskes bestemt: ":EPSI\f 0270 REPEAT \f ▶0b◀0280 I:=I+1▶0b◀!0290 MIDTPUNKT:=(HØJRE+VENSTRE)/2!▶17◀0300 FM:=FNF(MIDTPUNKT)▶17◀▶16◀0310 IF FV*FM<=0 THEN ▶16◀▶15◀0320 HØJRE:=MIDTPUNKT▶15◀▶0b◀0330 FH:=FM▶0b◀ 0340 ELSE ▶17◀0350 VENSTRE:=MIDTPUNKT▶17◀▶0b◀0360 FV:=FM▶0b◀▶0b◀0370 ENDIF ▶0b◀▶1e◀0380 UNTIL HØJRE-VENSTRE<2*EPS▶1e◀▶1b◀0390 ROD:=(HØJRE+VENSTRE)/2▶1b◀▶0b◀0400 PRINT ▶0b◀K0410 PRINT "Efter ";I;" halveringer af intervallet fra ";GLVENSTRE;" til ";K$0420 PRINT GLHØJRE;" er roden med ";$90430 PRINT "en nøjagtighed på ";EPS;" fundet til: ";ROD9▶00◀▶00◀cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc