Συνάδελφοι μιας και φτάσαμε στο σημείο να συζητάμε για το τι επιτρέπεται και τι όχι στα διάφορα προγραμματιστικά περιβάλλοντα που υλοποιούν τη ΓΛΩΣΣΑ, ας μου επιτραπεί να εξηγήσω με βάση ποια
σημεία του βιβλίου υλοποίησα το Διερμηνευτή ως έχει.
1. Επιτρέπονται συγκριτικοί τελεστές στην ΕΠΙΛΕΞΕ, για παράδειγμα ΠΕΡΙΠΤΩΣΗ < 10;
Ναι, υπάρχει σχετικό παράδειγμα στη σελίδα 75 του τετραδίου μαθητή.
Επίσης υπάρχει και μια αναφορά στη σελίδα 176 του βιβλίου καθηγητή, η οποία αναφέρεται στο παράδειγμα 1 της σελίδας 72 του τετραδίου μαθητή και υπονοεί ότι μπορεί να μπει το άπειρο σαν όριο περιοχής της ΕΠΙΛΕΞΕ (δηλαδή το ΑΝ ΝΟ2>700 να γίνει με ΕΠΙΛΕΞΕ).
2. Επιτρέπονται πραγματικές τιμές στην ΕΠΙΛΕΞΕ;
Ναι, η κατανάλωση στο παράδειγμα της σελίδας 75 του τετραδίου μαθητή είναι πραγματικός αριθμός.
3. Επιτρέπονται αλφαριθμητικά στην ΕΠΙΛΕΞΕ;
Ναι, υπάρχει σχετικό παράδειγμα στη σελίδα 269 του βιβλίου μαθητή.
4. Επιτρέπονται λογικές τιμές στην ΕΠΙΛΕΞΕ;
Προφανώς δεν υπάρχει σχετικό παράδειγμα στο βιβλίο, αφού δεν έχει νόημα να κάνουμε ΕΠΙΛΕΞΕ για 2 μόνο τιμές (Αληθής / Ψευδής). Όμως επίσης δεν έχει νόημα να απαγορευτεί η χρήση της ΕΠΙΛΕΞΕ ειδικά για τις λογικές εκφράσεις, κι έτσι θεωρώ ότι επιτρέπεται. Όμως, επιτρέπονται μόνο οι τελεστές ίσον (=) και διάφορο (<>), όπως σαφώς αναφέρεται στη σελίδα 166 του βιβλίου μαθητή.
5. Επιτρέπονται συνθήκες στην ΕΠΙΛΕΞΕ;
Όχι. Ούτε στη ΓΛΩΣΣΑ ούτε στην ψευδογλώσσα. Η ίδια η ΕΠΙΛΕΞΕ Χ είναι μισή συνθήκη (γράφουμε τον ένα τελεστέο), οπότε το <= 10 δεν αποτελεί ολοκληρωμένη συνθήκη αλλά μόνο μέρος της (ουσιαστικά είναι περιοχή τιμών, από -άπειρο ως και 10).
Υ.Γ. το "συνθήκη" που αναφέρεται στη σελίδα 37 του βιβλίου μαθητή είναι λάθος (στα ελληνικά, όχι στην ψευδογλώσσα), οι τιμές δεν μπορούν να υπακούουν σε μια συνθήκη. Η συγκεκριμένη φράση έχει ξεμείνει από πριν τις διορθώσεις του βιβλίου, όταν θεωρούνταν αποδεκτό το 0<age<5, το οποίο (καλώς) έχει διορθωθεί εδώ και χρόνια.
6. Επιτρέπονται λογικοί τελεστές στην ΕΠΙΛΕΞΕ της ΓΛΩΣΣΑΣ, π.χ. ΠΕΡΙΠΤΩΣΗ <=0 Η >=3;
Προσωπικό συμπέρασμα: όχι. Δεν αναφέρεται κάτι τέτοιο πουθενά στο βιβλίο. Εξάλλου, για να μπουν λογικοί τελεστές θα έπρεπε να υπάρχει και ο σχετικός τελεστέος, για παράδειγμα να λέγαμε ΠΕΡΙΠΤΩΣΗ Χ<=0 Η Χ>=3. Αν δεν μπει ο σχετικός τελεστέος, τότε δεν μπορούμε καν να συντάξουμε λογικές εκφράσεις, π.χ. <=0 Η ΟΧΙ <=10 ΚΑΙ =15, δεν βγαίνει νόημα. Αν όμως βάλουμε τελεστέους, τότε ακυρώνουμε την έννοια της ΕΠΙΛΕΞΕ, η οποία αναφέρεται στις διαφορετικές τιμές που μπορεί να πάρει
μία έκφραση. Δηλαδή το ΠΕΡΙΠΤΩΣΗ Χ<=0 ΚΑΙ Υ>=10 δεν είναι πια στο πνεύμα της ΕΠΙΛΕΞΕ. Η Basic λύνει αυτό το πρόβλημα κάνοντας χρήση μιας ειδικής ψευδομεταβλητής, της IS, η οποία μπαίνει εκεί που θα έμπαινε η έκφραση, και επομένως μπορούμε στη Basic να γράψουμε ΠΕΡΙΠΤΩΣΗ IS<=0 Η IS>=10. Για να επιτρέπαμε όμως κάτι τέτοιο στη ΓΛΩΣΣΑ θα έπρεπε να βρούμε και σχετική ψευδομεταβλητή, και νομίζω ότι θα αεροβατούσαμε.
7. Δέχεται περιοχές τιμών η ΕΠΙΛΕΞΕ;
Ναι, το λέει στη σελίδα 173 του σχολικού βιβλίου.
Σίγουρα μπορούμε να δηλώσουμε την περιοχή (-άπειρο έως -5] Η [5 έως άπειρο) με το συντακτικό ΠΕΡΙΠΤΩΣΗ <=-5, >= 5. Όμως το βιβλίο δεν έχει παράδειγμα για το πώς μπορούμε να δηλώσουμε περιοχές του στυλ [5 ως 10]. Με το "(" συμβολίζω το ανοικτό διάστημα, με το "]" το κλειστό διάστημα.
Προσωπικό συμπέρασμα: εφόσον το βιβλίο λέει ότι υποστηρίζεται, αλλά δεν λέει πώς, θα μπορούσαμε:
α) να πάρουμε τη συγκεκριμένη πρόταση του βιβλίου σαν
συντακτικό ορισμό και να θεωρήσουμε ότι η σύνταξη είναι ΠΕΡΙΠΤΩΣΗ από 5 - έως 10 (έχει και παύλα ανάμεσα!

), ή
β) να ακολουθήσουμε κάποια από τις παραπλήσιες γλώσσες προγραμματισμού, όπως το 5..10 που έχει η Pascal.
8. Και τι γίνεται με τα ανοικτά διαστήματα;
Εφόσον οι ΠΕΡΙΠΤΩΣεις ελέγχονται με τη σειρά, για να πετύχουμε το (5 ως 10], θα έπρεπε να έχουμε πρώτα μια ΠΕΡΙΠΤΩΣΗ 5 (ή ΠΕΡΙΠΤΩΣΗ -5..5), με την οποία θα "έβγαινε" το 5 από τη μέση, και μετά μια ΠΕΡΙΠΤΩΣΗ 5..10. Βέβαια ελπίζω να μη δω ποτέ θέμα που να ζητάει τέτοια.
Ουφ, αυτά. Μήπως
να φτιάχναμε ένα Wiki με όλα τα συμπεράσματα που έχουμε βγάλει και με βάση ποιο σημείο του βιβλίου τα βγάλαμε, ώστε να μπορεί κάποιος εύκολα να βλέπει τι επιτρέπεται και τι όχι; Για τα προσωπικά μου συμπεράσματα, υπάρχει η
online βοήθεια του Διερμηνευτή...