Προγραμματισμός: Χρήσιμα εργαλεία
Μπορείτε να χρησιμοποιήσετε τις ακόλουθες διαδικασίες ως εργαλεία, όταν δημιουργείτε τα δικά σας προγράμματα. Φυσικά, δεν εξαντλούνται όλες οι περιπτώσεις:
Η διαδικασία ανάμεσα? κάνει έναν έλεγχο για να διαπιστώσει αν ένας αριθμός βρίσκεται σε δεδομένη διάταξη:
για ανάμεσα? :χ :κάτω :άνω
έξοδος όχι ή (:χ < :κάτω) (: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