Κεφάλαιο 10. Θεωρία συνόλων στη GEL
Προηγ |  | Επόμενο

# Κεφάλαιο 10. Θεωρία συνόλων στη GEL

Η Genius έχει κάποια βασική θεωρητική λειτουργικότητα συνόλων ενσωματωμένη. Προς το παρόν ένα σύνολο είναι απλά ένα διάνυσμα (ή πίνακας). Κάθε ξεχωριστό αντικείμενο αντιμετωπίζεται ως διαφορετικό στοιχείο.

## Χρήση συνόλων

Ακριβώς όπως τα διανύσματα, τα αντικείμενα στα σύνολα μπορούν να περιλαμβάνουν αριθμούς, συμβολοσειρές `null`, πίνακες και διανύσματα. Σχεδιάζεται στο μέλλον να υπάρχει ένας αποκλειστικός τύπος για σύνολα, αντί να χρησιμοποιούνται διανύσματα. Σημειώστε ότι οι αριθμοί κινητής υποδιαστολής είναι διακριτοί από τους ακέραιους, ακόμα κι αν εμφανίζονται το ίδιο. Δηλαδή η Genius θα θεωρήσει τις `0` και `0.0` ως δύο διαφορετικά στοιχεία. Η `null` αντιμετωπίζεται ως ένα κενό σύνολο.

Για να δομήσετε ένα σύνολο από ένα διάνυσμα, χρησιμοποιήστε τη συνάρτηση `MakeSet`. Προς το παρόν, θα επιστρέψει απλά ένα νέο διάνυσμα, όπου κάθε στοιχείο είναι μοναδικό.

    genius> MakeSet([1,2,2,3])
    = [1, 2, 3]

Παρόμοια, υπάρχουν συναρτήσεις `Union`, `Intersection`, `SetMinus`, που είναι μάλλον αυτονόητες. Για παράδειγμα:

    genius> Union([1,2,3], [1,2,4])
    = [1, 2, 4, 3]

Σημειώστε ότι δεν εγγυάται καμία τάξη για τις τιμές επιστροφής. Αν θέλετε να ταξινομήσετε το διάνυσμα θα πρέπει να χρησιμοποιήσετε τη συνάρτηση `SortVector`.

Για τον έλεγχο μέλους, υπάρχουν συναρτήσεις `IsIn` and `IsSubset`, που επιστρέφουν μια λογική τιμή. Για παράδειγμα:

    genius> IsIn (1, [0,1,2])
    = true

Η είσοδος `IsIn(x,X)` είναι φυσικά ισοδύναμη με `IsSubset([x],X)`. Σημειώστε ότι, αφού το κενό σύνολο είναι ένα υποσύνολο κάθε συνόλου, η `IsSubset(null,X)` είναι πάντα αληθής.

Προηγ |  | Επόμενο
Κεφάλαιο 9. Πολυώνυμα στην GEL | Αρχή | Κεφάλαιο 11. Κατάλογος συναρτήσεων της GEL