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

⟦457b0b9bf⟧ TextFile

    Length: 1248 (0x4e0)
    Types: TextFile
    Notes: Mikados_K
    Names: »SUM_BRØ2.K«

Derivation

└─⟦92e6f589c⟧ Bits:30003895/4xCOMAL3b.imd 4 * COMAL - SPC/1 - Disketter til bogen
    └─⟦this⟧ »SUM_BRØ2.K« 
└─⟦faca42ef2⟧ Bits:30003895/4xCOMAL1.imd 4 * COMAL - SPC/1 - Disketter til bogen
    └─⟦this⟧ »SUM_BRØ2.K« 

Mikados K File

0010 // -------------------- sum_brøk_2 -----------------------
0015 INTEGER DIVIDEND1,DIVIDEND2,DIVISOR1,DIVISOR2,DIVIDEND,DIVISOR
0020 // 
0030 PROC FNSFD(N,M)
0040 WHILE M>0 DO 
0050 REST:=N MOD M
0060 N:=M;M:=REST
0070 ENDWHILE 
0080 FNSFD:=N
0090 ENDPROC FNSFD
0100 // 
0110 PROC FORKORT(REF TÆLLER,REF NÆVNER)
0120 FAKTOR:=FNSFD(TÆLLER,NÆVNER)
0130 TÆLLER:=TÆLLER/FAKTOR
0140 NÆVNER:=NÆVNER/FAKTOR
0150 ENDPROC FORKORT
0160 // 
0170 CLEAR 
0175 PRINT 
0180 INPUT "Indtast første brøks tæller og nævner:  ":DIVIDEND1,DIVISOR1
0190 INPUT "Indtast anden brøks tæller og nævner:   ":DIVIDEND2,DIVISOR2
0200 PRINT 
0210 PRINT "(";DIVIDEND1;")/(";DIVISOR1;") + (";
0220 PRINT DIVIDEND2;")/(";DIVISOR2;") = ";
0230 DIVIDEND:=DIVIDEND1*DIVISOR2+DIVIDEND2*DIVISOR1
0240 DIVISOR:=DIVISOR1*DIVISOR2
0250 FORTEGN:=SGN(DIVIDEND*DIVISOR)
0260 DIVIDEND:=ABS(DIVIDEND)
0270 DIVISOR:=ABS(DIVISOR)
0280 EXEC FORKORT(DIVIDEND,DIVISOR)
0290 // 
0300 IF FORTEGN=0 THEN PRINT 0
0310 IF FORTEGN=-1 THEN PRINT "-";
0320 IF FORTEGN<>0 THEN 
0330 IF DIVISOR=1 THEN 
0340 PRINT DIVIDEND
0350 ELSE 
0360 PRINT DIVIDEND;"/";DIVISOR
0370 ENDIF 
0380 ENDIF 

Mikados K File

0x000…041 Line {l1=0x3f, l2=»0010 // -------------------- sum_brøk_2 -----------------------«, l3=0x3f}
0x041…086 Line {l1=0x43, l2=»0015 INTEGER DIVIDEND1,DIVIDEND2,DIVISOR1,DIVISOR2,DIVIDEND,DIVISOR«, l3=0x43}
0x086…090 Line {l1=0x08, l2=»0020 // «, l3=0x08}
0x090…0a6 Line {l1=0x14, l2=»0030 PROC FNSFD(N,M)«, l3=0x14}
0x0a6…0ba Line {l1=0x12, l2=»0040 WHILE M>0 DO «, l3=0x12}
0x0ba…0ce Line {l1=0x12, l2=»0050 REST:=N MOD M«, l3=0x12}
0x0ce…0e1 Line {l1=0x11, l2=»0060 N:=M;M:=REST«, l3=0x11}
0x0e1…0f1 Line {l1=0x0e, l2=»0070 ENDWHILE «, l3=0x0e}
0x0f1…100 Line {l1=0x0d, l2=»0080 FNSFD:=N«, l3=0x0d}
0x100…114 Line {l1=0x12, l2=»0090 ENDPROC FNSFD«, l3=0x12}
0x114…11e Line {l1=0x08, l2=»0100 // «, l3=0x08}
0x11e…148 Line {l1=0x28, l2=»0110 PROC FORKORT(REF TÆLLER,REF NÆVNER)«, l3=0x28}
0x148…16b Line {l1=0x21, l2=»0120 FAKTOR:=FNSFD(TÆLLER,NÆVNER)«, l3=0x21}
0x16b…187 Line {l1=0x1a, l2=»0130 TÆLLER:=TÆLLER/FAKTOR«, l3=0x1a}
0x187…1a3 Line {l1=0x1a, l2=»0140 NÆVNER:=NÆVNER/FAKTOR«, l3=0x1a}
0x1a3…1b9 Line {l1=0x14, l2=»0150 ENDPROC FORKORT«, l3=0x14}
0x1b9…1c3 Line {l1=0x08, l2=»0160 // «, l3=0x08}
0x1c3…1d0 Line {l1=0x0b, l2=»0170 CLEAR «, l3=0x0b}
0x1d0…1dd Line {l1=0x0b, l2=»0175 PRINT «, l3=0x0b}
0x1dd…227 Line {l1=0x48, l2=»0180 INPUT "Indtast første brøks tæller og nævner:  ":DIVIDEND1,DIVISOR1«, l3=0x48}
0x227…271 Line {l1=0x48, l2=»0190 INPUT "Indtast anden brøks tæller og nævner:   ":DIVIDEND2,DIVISOR2«, l3=0x48}
0x271…27e Line {l1=0x0b, l2=»0200 PRINT «, l3=0x0b}
0x27e…2b0 Line {l1=0x30, l2=»0210 PRINT "(";DIVIDEND1;")/(";DIVISOR1;") + (";«, l3=0x30}
0x2b0…2dd Line {l1=0x2b, l2=»0220 PRINT DIVIDEND2;")/(";DIVISOR2;") = ";«, l3=0x2b}
0x2dd…313 Line {l1=0x34, l2=»0230 DIVIDEND:=DIVIDEND1*DIVISOR2+DIVIDEND2*DIVISOR1«, l3=0x34}
0x313…334 Line {l1=0x1f, l2=»0240 DIVISOR:=DIVISOR1*DIVISOR2«, l3=0x1f}
0x334…359 Line {l1=0x23, l2=»0250 FORTEGN:=SGN(DIVIDEND*DIVISOR)«, l3=0x23}
0x359…377 Line {l1=0x1c, l2=»0260 DIVIDEND:=ABS(DIVIDEND)«, l3=0x1c}
0x377…393 Line {l1=0x1a, l2=»0270 DIVISOR:=ABS(DIVISOR)«, l3=0x1a}
0x393…3b8 Line {l1=0x23, l2=»0280 EXEC FORKORT(DIVIDEND,DIVISOR)«, l3=0x23}
0x3b8…3c2 Line {l1=0x08, l2=»0290 // «, l3=0x08}
0x3c2…3e2 Line {l1=0x1e, l2=»0300 IF FORTEGN=0 THEN PRINT 0«, l3=0x1e}
0x3e2…406 Line {l1=0x22, l2=»0310 IF FORTEGN=-1 THEN PRINT "-";«, l3=0x22}
0x406…420 Line {l1=0x18, l2=»0320 IF FORTEGN<>0 THEN «, l3=0x18}
0x420…439 Line {l1=0x17, l2=»0330 IF DIVISOR=1 THEN «, l3=0x17}
0x439…44e Line {l1=0x13, l2=»0340 PRINT DIVIDEND«, l3=0x13}
0x44e…45a Line {l1=0x0a, l2=»0350 ELSE «, l3=0x0a}
0x45a…47b Line {l1=0x1f, l2=»0360 PRINT DIVIDEND;"/";DIVISOR«, l3=0x1f}
0x47b…488 Line {l1=0x0b, l2=»0370 ENDIF «, l3=0x0b}
0x488…495 Line {l1=0x0b, l2=»0380 ENDIF «, l3=0x0b}
0x495…4a0 00 00 63 63 63 63 63 63 63 63 63                                                                  ┆  ccccccccc┆
0x4a0…4c0 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┆
          […0x1…]

TextFile

?0010 // -------------------- sum_brøk_2 -----------------------?C0015 INTEGER DIVIDEND1,DIVIDEND2,DIVISOR1,DIVISOR2,DIVIDEND,DIVISORC▶08◀0020 // ▶08◀▶14◀0030 PROC FNSFD(N,M)▶14◀▶12◀0040 WHILE M>0 DO ▶12◀▶12◀0050 REST:=N MOD M▶12◀▶11◀0060 N:=M;M:=REST▶11◀▶0e◀0070 ENDWHILE ▶0e◀\r0080 FNSFD:=N\r▶12◀0090 ENDPROC FNSFD▶12◀▶08◀0100 // ▶08◀(0110 PROC FORKORT(REF TÆLLER,REF NÆVNER)(!0120 FAKTOR:=FNSFD(TÆLLER,NÆVNER)!▶1a◀0130 TÆLLER:=TÆLLER/FAKTOR▶1a◀▶1a◀0140 NÆVNER:=NÆVNER/FAKTOR▶1a◀▶14◀0150 ENDPROC FORKORT▶14◀▶08◀0160 // ▶08◀▶0b◀0170 CLEAR ▶0b◀▶0b◀0175 PRINT ▶0b◀H0180 INPUT "Indtast første brøks tæller og nævner:  ":DIVIDEND1,DIVISOR1HH0190 INPUT "Indtast anden brøks tæller og nævner:   ":DIVIDEND2,DIVISOR2H▶0b◀0200 PRINT ▶0b◀00210 PRINT "(";DIVIDEND1;")/(";DIVISOR1;") + (";0+0220 PRINT DIVIDEND2;")/(";DIVISOR2;") = ";+40230 DIVIDEND:=DIVIDEND1*DIVISOR2+DIVIDEND2*DIVISOR14▶1f◀0240 DIVISOR:=DIVISOR1*DIVISOR2▶1f◀#0250 FORTEGN:=SGN(DIVIDEND*DIVISOR)#▶1c◀0260 DIVIDEND:=ABS(DIVIDEND)▶1c◀▶1a◀0270 DIVISOR:=ABS(DIVISOR)▶1a◀#0280 EXEC FORKORT(DIVIDEND,DIVISOR)#▶08◀0290 // ▶08◀▶1e◀0300 IF FORTEGN=0 THEN PRINT 0▶1e◀"0310 IF FORTEGN=-1 THEN PRINT "-";"▶18◀0320 IF FORTEGN<>0 THEN ▶18◀▶17◀0330 IF DIVISOR=1 THEN ▶17◀▶13◀0340 PRINT DIVIDEND▶13◀
0350 ELSE 
▶1f◀0360 PRINT DIVIDEND;"/";DIVISOR▶1f◀▶0b◀0370 ENDIF ▶0b◀▶0b◀0380 ENDIF ▶0b◀▶00◀▶00◀ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

Reduced view