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 - metrics - download

⟦457b0b9bf⟧ TextFile

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

Derivation

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

Text

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 

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