Προγραμματισμός: Χρήσιμα εργαλεία

Μπορείτε να χρησιμοποιήσετε τις ακόλουθες διαδικασίες ως εργαλεία, όταν δημιουργείτε τα δικά σας προγράμματα. Φυσικά, δεν εξαντλούνται όλες οι περιπτώσεις:

Η διαδικασία ανάμεσα? κάνει έναν έλεγχο για να διαπιστώσει αν ένας αριθμός βρίσκεται σε δεδομένη διάταξη:

για ανάμεσα? :χ :κάτω :άνω
έξοδος όχι ή (:χ < :κάτω) (:x > :άνω)
τέλος

δείξε ανάμεσα? 5 3 9
ΣΩΣΤΟ

Η διαδικασία σάρωση εφαρμόζει μια εντολή σε κάθε στοιχείο μιας λίστας:

για σάρωση :εντολή :λίστα
αν κενό? :λίστα [στοπ]
εκτέλεσε λίστα :εντολή λέξη "" πρώτο :λίστα
σάρωση :εντολή ΕκτόςΠρώτου :λίστα
τέλος

κάνε "χώρες [GR FR I SP]
σάρωση "δείξε :χώρες

GR
FR
I
SP

Η διαδικασία αντικατάσταση αντικαθιστά μια λέξη μέσα σε μια λίστα με μια άλλη λέξη:

για αντικατάσταση :λέξη1 :λέξη2 :λίστα
αν κενό? :λίστα [έξοδος [ ]]
αν :λέξη1 = πρώτο :λίστα
      [έξοδος φράση :λέξη2 ΕκτόςΠρώτου :λίστα]
έξοδος ΒάλεΠρώτο πρώτο :λίστα αντικατάσταση :λέξη1 :λέξη2 ΕκτόςΠρώτου :λίστα
τέλος

δείξε αντικατάσταση "ψέμα "αλήθεια [Είναι ψέμα]
Είναι αλήθεια

Η διαδικασία ταξινόμηση παίρνει μια λίστα με λέξεις και τις επιστρέφει σε αλφαβητική σειρά:

για ταξινόμηση :λίστα
έξοδος ΤαξινόμησέΤις :λίστα [ ]
τέλος

για ΤαξινόμησέΤις :λίστα1 :λίστα2
αν κενό? :λίστα1 [έξοδος :λίστα2]
έξοδος ΤαξινόμησέΤις ΕκτόςΠρώτου :λίστα1 παρεμβολή1 πρώτο :λίστα1 :λίστα2
τέλος

για παρεμβολή1 :λέξη :λίστα
αν κενό? :λίστα [έξοδος ΒάλεΠρώτο :λέξη :λίστα]
αν πριν? :λέξη πρώτο :λίστα [έξοδος ΒάλεΠρώτο :λέξη :λίστα]
έξοδος ΒάλεΠρώτο πρώτο :λίστα παρεμβολή1 :λέξη ΕκτόςΠρώτου :λίστα
τέλος

για πριν? :α :β
αν ή κενό? :α κενό? :β [έξοδος "λάθος]
ΑνΔιαφορετικά (ascii πρώτο :α) = (ascii πρώτο :β)
   [έξοδος πριν? ΕκτόςΠρώτουεκτόςπρώτου :β]
      [έξοδος (ascii πρώτο :α) < (ascii πρώτο :β)]
τέλος

δείξε ταξινόμηση [ΑΝΝΑ ΕΛΕΝΗ ΓΙΑΝΝΗΣ ΠΕΤΡΟΣ ΘΩΜΑΣ]
ΑΝΝΑ ΓΙΑΝΝΗΣ ΕΛΕΝΗ ΘΩΜΑΣ ΠΕΤΡΟΣ

Η διαδικασία πού εξάγει τη θέση που έχει ένα στοιχείο μέσα σε μία λίστα. Για να λειτουργήσει αυτή η διαδικασία πρέπει το στοιχείο να αποτελεί μέρος της λίστας. Το εργαλείο αυτό λειτουργεί ως συμπλήρωμα του μεταβιβαστή στοιχείο:

για πού :μέλος :λίστα
αν κενό? :λίστα [έξοδος 0]
αν :ανήκει = πρώτο :λίστα [έξοδος 1]
έξοδος 1 + πού :ανήκει ΕκτόςΠρώτου :λίστα
τέλος

δείξε πού "α [γ α ι]
2

Οι ακόλουθες διαδικασίες αποτελούν εργαλεία για τη διαχείριση δύο συνόλων:

Η διαδικασία τομή επιστρέφει την τομή δύο συνόλων:

για τομή :λίστα1 :λίστα2
αν κενό? :λίστα1 [έξοδος [ ]]
αν ανήκει? (πρώτο :λίστα1) :λίστα2
    [έξοδος φράση (πρώτο :λίστα1)
        τομή (ΕκτόςΠρώτου :λίστα1) :λίστα2]
έξοδος τομή (ΕκτόςΠρώτου :λίστα1) :λίστα2
τέλος

δείξε τομή [1 2 3 4 5] [3 4 5 6]
3 4 5

Η διαδικασία υποσύνολο? κάνει έναν έλεγχο για να διαπιστώσει αν μια λίστα είναι υποσύνολο μιας άλλης λίστας:

για υποσύνολο? :λίστα1 :λίστα2
αν κενό? :λίστα1 [έξοδος "ΣΩΣΤΟ]
αν όχι ανήκει? πρώτο :λίστα1 :λίστα2 [έξοδος "ΛΑΘΟΣ]
έξοδος υποσύνολο? ΕκτόςΠρώτου :λίστα1 :λίστα2
τέλος

δείξε υποσύνολο? [2 3] [2 3 4 5]
ΣΩΣΤΟ

Η διαδικασία ένωση εξάγει την ένωση δύο συνόλων:

για ένωση :λίστα1 :λίστα2
αν κενό? :λίστα1 [έξοδος :λίστα2]
ΑνΔιαφορετικά ανήκει? πρώτο :λίστα1 :λίστα2
     [έξοδος ένωση ΕκτόςΠρώτου :λίστα1 :λίστα2]
     [έξοδος ΒάλεΠρώτο πρώτο :λίστα1 ένωση ΕκτόςΠρώτου :λίστα1 :λίστα2]
τέλος

δείξε ένωση [1 2 3 4 5] [3 4 5 6 7]
1 2 3 4 5 6 7