DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC759 "Piccoline"

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

See our Wiki for more about RegneCentralen RC759 "Piccoline"

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦72e2ac1c7⟧ TextFile

    Length: 1792 (0x700)
    Types: TextFile
    Names: »BOBBLE.SCL«

Derivation

└─⟦216f59cd8⟧ Bits:30002641 SCANLOG - Piccoline vers. nov. 87
    └─ ⟦this⟧ »BOBBLE.SCL« 

TextFile

;          ==============
;          BOBLESORTERING
;          ==============
;
; Kaldes ved sort(Input,Output)
;
; Input skal vaere en liste
;
;
;           ----
;           sort
;           ----
;
sort(A,A) hvis 
     sorteret(A).
;
sort(A,S) hvis 
     ikke(sorteret(A)),
     bobbel_op(A,A1),
     fjern_sidste(A1,Element,A2),
     find_een(sort(A2,A3)) og 
     påsæt_sidste(A3,Element,S).
;
;
;         --------
;         sorteret
;         --------
;
sorteret(A) hvis 
     for_alle naboer(A,X1,X2) gælder X1 <= X2.
;
;
;         ---------
;         bobbel_op
;         ---------
;
vælg_een bobbel_op
  ;
  ;       Hvis der kun er et element i listen, så skal der ikke
  ;       bobles mere op
  ;
  bobbel_op(<X>,<X>).
  ;
  bobbel_op(<X1,X2..Resten>,<X1..Op_boblet>) hvor 
       X1 <= X2 hvis 
       bobbel_op(<X2..Resten>,Op_boblet).
  ;
  bobbel_op(<X1,X2..Resten>,<X2..Op_boblet>) hvor 
       X1 > X2 hvis 
       bobbel_op(<X1..Resten>,Op_boblet).
  ;
slut.
;
;
;       ------
;       naboer
;       ------
;
naboer(<X1,X2..Resten>,X1,X2).
;
naboer(<X3..Resten>,X1,X2) hvis 
     naboer(Resten,X1,X2).
;
;
;       ------------
;       påsæt_sidste
;       ------------
vælg_een påsæt_sidste
  ;
  påsæt_sidste(<X>,Element,<X,Element>).
  ;
  påsæt_sidste(<X1..Resten>,Element,<X1..Resultat>) hvis 
       påsæt_sidste(Resten,Element,Resultat).
  ;
slut.
;
;       ------------
;       fjern_sidste
;       ------------
;   Den omvendte operation til påsæt_sidste, men da påsæt_sidste
;   også virker 'baglæns', så bruges denne
;
fjern_sidste(A_plus_Element,Element,A) hvis 
     påsæt_sidste(A,Element,A_plus_Element).
;
;
;  BOBLESORTERING  SLUT
;  ====================
«eof»