|
|
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: »FEJLPRG1.K«
└─⟦92e6f589c⟧ Bits:30003895/4xCOMAL3b.imd 4 * COMAL - SPC/1 - Disketter til bogen
└─⟦this⟧ »FEJLPRG1.K«
└─⟦faca42ef2⟧ Bits:30003895/4xCOMAL1.imd 4 * COMAL - SPC/1 - Disketter til bogen
└─⟦this⟧ »FEJLPRG1.K«
0010 // -------------------- sum_brøk_2 ----------------------- 0020 // 0030 PROC SFD(N,M) 0040 WHILE M>0 DO 0050 REST:=N MOD M 0060 N:=M;M:=REST 0070 ENDWHILE 0080 SFD:=N 0090 ENDPROC SFD 0100 // 0110 PROC FORKORT(REF TÆLLER,REF NÆVNER) 0120 FAKTOR:=SFD(TÆLLER,NÆVNER) 0130 TÆLLER:=TÆLLER/FAKTOR 0140 NÆVNER:=NÆVNER/FAKTOR 0150 ENDPROC FORKORT 0160 // 0170 CLEAR 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 USING "(#######.## )/(#######.## ) + ":DIVIDEND1,DIVISOR1; 0220 PRINT USING "(#######.## )/(#######.## ) = ":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 0370 ENDIF 0380 ENDIF 8447 // >0 THEN
0x000…041 Line {l1=0x3f, l2=»0010 // -------------------- sum_brøk_2 -----------------------«, l3=0x3f}
0x041…04b Line {l1=0x08, l2=»0020 // «, l3=0x08}
0x04b…05f Line {l1=0x12, l2=»0030 PROC SFD(N,M)«, l3=0x12}
0x05f…073 Line {l1=0x12, l2=»0040 WHILE M>0 DO «, l3=0x12}
0x073…087 Line {l1=0x12, l2=»0050 REST:=N MOD M«, l3=0x12}
0x087…09a Line {l1=0x11, l2=»0060 N:=M;M:=REST«, l3=0x11}
0x09a…0aa Line {l1=0x0e, l2=»0070 ENDWHILE «, l3=0x0e}
0x0aa…0b7 Line {l1=0x0b, l2=»0080 SFD:=N«, l3=0x0b}
0x0b7…0c9 Line {l1=0x10, l2=»0090 ENDPROC SFD«, l3=0x10}
0x0c9…0d3 Line {l1=0x08, l2=»0100 // «, l3=0x08}
0x0d3…0fd Line {l1=0x28, l2=»0110 PROC FORKORT(REF TÆLLER,REF NÆVNER)«, l3=0x28}
0x0fd…11e Line {l1=0x1f, l2=»0120 FAKTOR:=SFD(TÆLLER,NÆVNER)«, l3=0x1f}
0x11e…13a Line {l1=0x1a, l2=»0130 TÆLLER:=TÆLLER/FAKTOR«, l3=0x1a}
0x13a…156 Line {l1=0x1a, l2=»0140 NÆVNER:=NÆVNER/FAKTOR«, l3=0x1a}
0x156…16c Line {l1=0x14, l2=»0150 ENDPROC FORKORT«, l3=0x14}
0x16c…176 Line {l1=0x08, l2=»0160 // «, l3=0x08}
0x176…183 Line {l1=0x0b, l2=»0170 CLEAR «, l3=0x0b}
0x183…1cd Line {l1=0x48, l2=»0180 INPUT "Indtast første brøks tæller og nævner: ":DIVIDEND1,DIVISOR1«, l3=0x48}
0x1cd…217 Line {l1=0x48, l2=»0190 INPUT "Indtast anden brøks tæller og nævner: ":DIVIDEND2,DIVISOR2«, l3=0x48}
0x217…224 Line {l1=0x0b, l2=»0200 PRINT «, l3=0x0b}
0x224…26b Line {l1=0x45, l2=»0210 PRINT USING "(#######.## )/(#######.## ) + ":DIVIDEND1,DIVISOR1;«, l3=0x45}
0x26b…2b2 Line {l1=0x45, l2=»0220 PRINT USING "(#######.## )/(#######.## ) = ":DIVIDEND2,DIVISOR2;«, l3=0x45}
0x2b2…2e8 Line {l1=0x34, l2=»0230 DIVIDEND:=DIVIDEND1*DIVISOR2+DIVIDEND2*DIVISOR1«, l3=0x34}
0x2e8…309 Line {l1=0x1f, l2=»0240 DIVISOR:=DIVISOR1*DIVISOR2«, l3=0x1f}
0x309…32e Line {l1=0x23, l2=»0250 FORTEGN:=SGN(DIVIDEND*DIVISOR)«, l3=0x23}
0x32e…34c Line {l1=0x1c, l2=»0260 DIVIDEND:=ABS(DIVIDEND)«, l3=0x1c}
0x34c…368 Line {l1=0x1a, l2=»0270 DIVISOR:=ABS(DIVISOR)«, l3=0x1a}
0x368…38d Line {l1=0x23, l2=»0280 EXEC FORKORT(DIVIDEND,DIVISOR)«, l3=0x23}
0x38d…397 Line {l1=0x08, l2=»0290 // «, l3=0x08}
0x397…3b7 Line {l1=0x1e, l2=»0300 IF FORTEGN=0 THEN PRINT 0«, l3=0x1e}
0x3b7…3db Line {l1=0x22, l2=»0310 IF FORTEGN=-1 THEN PRINT "-",«, l3=0x22}
0x3db…3f5 Line {l1=0x18, l2=»0320 IF FORTEGN<>0 THEN «, l3=0x18}
0x3f5…40e Line {l1=0x17, l2=»0330 IF DIVISOR=1 THEN «, l3=0x17}
0x40e…423 Line {l1=0x13, l2=»0340 PRINT DIVIDEND«, l3=0x13}
0x423…42f Line {l1=0x0a, l2=»0350 ELSE «, l3=0x0a}
0x42f…43c Line {l1=0x0b, l2=»0360 PRINT «, l3=0x0b}
0x43c…449 Line {l1=0x0b, l2=»0370 ENDIF «, l3=0x0b}
0x449…456 Line {l1=0x0b, l2=»0380 ENDIF «, l3=0x0b}
0x456…468 Line {l1=0x10, l2=»8447 // >0 THEN «, l3=0x10}
0x468…480 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ cccccccccccccccccccccc┆
0x480…4a0 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┆
[…0x2a…]
?0010 // -------------------- sum_brøk_2 -----------------------?▶08◀0020 // ▶08◀▶12◀0030 PROC SFD(N,M)▶12◀▶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◀▶0b◀0080 SFD:=N▶0b◀▶10◀0090 ENDPROC SFD▶10◀▶08◀0100 // ▶08◀(0110 PROC FORKORT(REF TÆLLER,REF NÆVNER)(▶1f◀0120 FAKTOR:=SFD(TÆLLER,NÆVNER)▶1f◀▶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◀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◀E0210 PRINT USING "(#######.## )/(#######.## ) + ":DIVIDEND1,DIVISOR1;EE0220 PRINT USING "(#######.## )/(#######.## ) = ":DIVIDEND2,DIVISOR2;E40230 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 ▶0b◀0360 PRINT ▶0b◀▶0b◀0370 ENDIF ▶0b◀▶0b◀0380 ENDIF ▶0b◀▶10◀8447 // >0 THEN ▶10◀▶00◀▶00◀cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc