DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦54c9aa82d⟧ TextFile

    Length: 2528 (0x9e0)
    Types: TextFile
    Notes: Mikados_K
    Names: »BISECTIO.K«

Derivation

└─⟦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« 

Mikados K File

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

Mikados K File

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…]

TextFile

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

Reduced view