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

⟦3c98fa750⟧ TextFile

    Length: 2496 (0x9c0)
    Types: TextFile
    Notes: Mikados_K
    Names: »QUICKSRT.K«

Derivation

└─⟦0ca3cf8fa⟧ Bits:30004600 DEMO1 - COMAL demoprogram
    └─⟦this⟧ »QUICKSRT.K« 

Mikados K File

0010 REM DDE TESTPROGRAM QUICKSORT
0020 DIM MAT$(6)
0030 REM 
0040 PROC QUICK
0050 M=12
0060 DIM STAK(M,2)
0070 VENST=1;HØJRE=2
0080 S,STAK(1,VENST)=1;STAK(1,HØJRE)=N
0090 REPEAT 
0100 V=STAK(S,VENST);H=STAK(S,HØJRE);S=S-1
0110 REPEAT 
0120 I=V;J=H;X=A(INT((V+H)/2))
0130 REPEAT 
0140 WHILE A(I)<X
0150 I=I+1
0160 ENDWHILE 
0170 WHILE X<A(J)
0180 J=J-1
0190 ENDWHILE 
0200 IF I<=J THEN 
0210 W=A(I);A(I)=A(J);A(J)=W
0220 I=I+1;J=J-1
0230 ENDIF 
0240 UNTIL I>J
0250 IF I<H THEN 
0260 S=S+1
0270 STAK(S,VENST)=I
0280 STAK(S,HØJRE)=H
0290 ENDIF 
0300 H=J
0310 UNTIL V=>H
0320 UNTIL S=0
0330 ENDPROC ;QUICKSORT
0340 REM 
0350 REM ** HOVEDPROGRAM **
0360 PRINT "QUICKSORT PROGRAM"
0370 PRINT 
0380 PRINT "PROGRAMMET GENERER ET BRUGERBESTEMT ANTAL TILFAELDIGE"
0390 PRINT "TAL I INTERVALLET Æ0:100Å, HVOREFTER DISSE SORTERES"
0400 PRINT "EFTER STIGENDE VAERDI"
0410 PRINT 
0420 PRINT "ANTAL ELEMENTER, DER OENSKES SORTERET"
0430 INPUT N
0440 DIM A(N)
0450 PRINT "FOELGENDE";N;"TILFAELDIGE TAL SORTERES:"
0460 MAT$="####.#"
0470 FOR I=1 TO N
0480 A(I)=RND(I)*100
0490 PRINT USING MAT$:A(I);
0500 NEXT I
0510 PRINT 
0520 EXEC QUICK
0530 PRINT 
0540 PRINT "RESULTAT AF SORTERING"
0550 FOR I=1 TO N
0560 PRINT USING MAT$:A(I);
0570 NEXT I
0580 END 

Mikados K File

0x000…024 Line {l1=0x22, l2=»0010 REM DDE TESTPROGRAM QUICKSORT«, l3=0x22}
0x024…036 Line {l1=0x10, l2=»0020 DIM MAT$(6)«, l3=0x10}
0x036…041 Line {l1=0x09, l2=»0030 REM «, l3=0x09}
0x041…052 Line {l1=0x0f, l2=»0040 PROC QUICK«, l3=0x0f}
0x052…05d Line {l1=0x09, l2=»0050 M=12«, l3=0x09}
0x05d…071 Line {l1=0x12, l2=»0060 DIM STAK(M,2)«, l3=0x12}
0x071…087 Line {l1=0x14, l2=»0070 VENST=1;HØJRE=2«, l3=0x14}
0x087…0af Line {l1=0x26, l2=»0080 S,STAK(1,VENST)=1;STAK(1,HØJRE)=N«, l3=0x26}
0x0af…0bd Line {l1=0x0c, l2=»0090 REPEAT «, l3=0x0c}
0x0bd…0e9 Line {l1=0x2a, l2=»0100 V=STAK(S,VENST);H=STAK(S,HØJRE);S=S-1«, l3=0x2a}
0x0e9…0f7 Line {l1=0x0c, l2=»0110 REPEAT «, l3=0x0c}
0x0f7…117 Line {l1=0x1e, l2=»0120 I=V;J=H;X=A(INT((V+H)/2))«, l3=0x1e}
0x117…125 Line {l1=0x0c, l2=»0130 REPEAT «, l3=0x0c}
0x125…138 Line {l1=0x11, l2=»0140 WHILE A(I)<X«, l3=0x11}
0x138…144 Line {l1=0x0a, l2=»0150 I=I+1«, l3=0x0a}
0x144…154 Line {l1=0x0e, l2=»0160 ENDWHILE «, l3=0x0e}
0x154…167 Line {l1=0x11, l2=»0170 WHILE X<A(J)«, l3=0x11}
0x167…173 Line {l1=0x0a, l2=»0180 J=J-1«, l3=0x0a}
0x173…183 Line {l1=0x0e, l2=»0190 ENDWHILE «, l3=0x0e}
0x183…197 Line {l1=0x12, l2=»0200 IF I<=J THEN «, l3=0x12}
0x197…1b5 Line {l1=0x1c, l2=»0210 W=A(I);A(I)=A(J);A(J)=W«, l3=0x1c}
0x1b5…1c7 Line {l1=0x10, l2=»0220 I=I+1;J=J-1«, l3=0x10}
0x1c7…1d4 Line {l1=0x0b, l2=»0230 ENDIF «, l3=0x0b}
0x1d4…1e4 Line {l1=0x0e, l2=»0240 UNTIL I>J«, l3=0x0e}
0x1e4…1f7 Line {l1=0x11, l2=»0250 IF I<H THEN «, l3=0x11}
0x1f7…203 Line {l1=0x0a, l2=»0260 S=S+1«, l3=0x0a}
0x203…219 Line {l1=0x14, l2=»0270 STAK(S,VENST)=I«, l3=0x14}
0x219…22f Line {l1=0x14, l2=»0280 STAK(S,HØJRE)=H«, l3=0x14}
0x22f…23c Line {l1=0x0b, l2=»0290 ENDIF «, l3=0x0b}
0x23c…246 Line {l1=0x08, l2=»0300 H=J«, l3=0x08}
0x246…257 Line {l1=0x0f, l2=»0310 UNTIL V=>H«, l3=0x0f}
0x257…267 Line {l1=0x0e, l2=»0320 UNTIL S=0«, l3=0x0e}
0x267…280 Line {l1=0x17, l2=»0330 ENDPROC ;QUICKSORT«, l3=0x17}
0x280…28b Line {l1=0x09, l2=»0340 REM «, l3=0x09}
0x28b…2a8 Line {l1=0x1b, l2=»0350 REM ** HOVEDPROGRAM **«, l3=0x1b}
0x2a8…2c8 Line {l1=0x1e, l2=»0360 PRINT "QUICKSORT PROGRAM"«, l3=0x1e}
0x2c8…2d5 Line {l1=0x0b, l2=»0370 PRINT «, l3=0x0b}
0x2d5…319 Line {l1=0x42, l2=»0380 PRINT "PROGRAMMET GENERER ET BRUGERBESTEMT ANTAL TILFAELDIGE"«, l3=0x42}
0x319…35b Line {l1=0x40, l2=»0390 PRINT "TAL I INTERVALLET Æ0:100Å, HVOREFTER DISSE SORTERES"«, l3=0x40}
0x35b…37f Line {l1=0x22, l2=»0400 PRINT "EFTER STIGENDE VAERDI"«, l3=0x22}
0x37f…38c Line {l1=0x0b, l2=»0410 PRINT «, l3=0x0b}
0x38c…3c0 Line {l1=0x32, l2=»0420 PRINT "ANTAL ELEMENTER, DER OENSKES SORTERET"«, l3=0x32}
0x3c0…3ce Line {l1=0x0c, l2=»0430 INPUT N«, l3=0x0c}
0x3ce…3dd Line {l1=0x0d, l2=»0440 DIM A(N)«, l3=0x0d}
0x3dd…413 Line {l1=0x34, l2=»0450 PRINT "FOELGENDE";N;"TILFAELDIGE TAL SORTERES:"«, l3=0x34}
0x413…427 Line {l1=0x12, l2=»0460 MAT$="####.#"«, l3=0x12}
0x427…43a Line {l1=0x11, l2=»0470 FOR I=1 TO N«, l3=0x11}
0x43a…450 Line {l1=0x14, l2=»0480 A(I)=RND(I)*100«, l3=0x14}
0x450…46d Line {l1=0x1b, l2=»0490 PRINT USING MAT$:A(I);«, l3=0x1b}
0x46d…47a Line {l1=0x0b, l2=»0500 NEXT I«, l3=0x0b}
0x47a…487 Line {l1=0x0b, l2=»0510 PRINT «, l3=0x0b}
0x487…498 Line {l1=0x0f, l2=»0520 EXEC QUICK«, l3=0x0f}
0x498…4a5 Line {l1=0x0b, l2=»0530 PRINT «, l3=0x0b}
0x4a5…4c9 Line {l1=0x22, l2=»0540 PRINT "RESULTAT AF SORTERING"«, l3=0x22}
0x4c9…4dc Line {l1=0x11, l2=»0550 FOR I=1 TO N«, l3=0x11}
0x4dc…4f9 Line {l1=0x1b, l2=»0560 PRINT USING MAT$:A(I);«, l3=0x1b}
0x4f9…506 Line {l1=0x0b, l2=»0570 NEXT I«, l3=0x0b}
0x506…511 Line {l1=0x09, l2=»0580 END «, l3=0x09}
0x511…520 00 00 36 29 10 09 30 30 33 30 20 52 45 4d 20                                                      ┆  6)  0030 REM ┆
0x520…540 09 0f 30 30 34 30 20 50 52 4f 43 20 51 55 49 43 4b 0f 09 30 30 35 30 20 4d 3d 31 32 09 12 30 30   ┆  0040 PROC QUICK  0050 M=12  00┆
0x540…560 36 30 20 44 49 4d 20 53 54 41 4b 28 4d 2c 32 29 12 14 30 30 37 30 20 56 45 4e 53 54 3d 31 3b 48   ┆60 DIM STAK(M,2)  0070 VENST=1;H┆
0x560…580 5c 4a 52 45 3d 32 14 26 30 30 38 30 20 53 2c 53 54 41 4b 28 31 2c 56 45 4e 53 54 29 3d 31 3b 53   ┆ØJRE=2 &0080 S,STAK(1,VENST)=1;S┆
0x580…5a0 54 41 4b 28 31 2c 48 5c 4a 52 45 29 3d 4e 26 0c 30 30 39 30 20 52 45 50 45 41 54 20 0c 2a 30 31   ┆TAK(1,HØJRE)=N& 0090 REPEAT  *01┆
0x5a0…5c0 30 30 20 56 3d 53 54 41 4b 28 53 2c 56 45 4e 53 54 29 3b 48 3d 53 54 41 4b 28 53 2c 48 5c 4a 52   ┆00 V=STAK(S,VENST);H=STAK(S,HØJR┆
0x5c0…5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1f…]

Reduced view