Λίγα χρόνια καθυστερημένος

υπάρχει σωστή απάντηση αλλά δεν θα την έβαζα σε Πανελλήνιες.
Βασίζεται στο ότι δεν επιτρέπεται να χρησιμοποίησουμε λογικούς τελεστές στο ΕΠΙΛΕΞΕ, αλλά μπορούμε να χρησιμοποιήσουμε = και <> για λογικές τιμές.
Οπότε το παράδειγμα :
Επίλεξε συνθήκη1
περίπτωση Αληθής
εντολές1
περίπτωση αλλιώς
Επίλεξε συνθήκη2
περίπτωση Αληθής
εντολές2
περίπτωση αλλιώς
εντολές3
Τέλος_επιλογών
Τέλος_επιλογών
μπορεί να μετατραπεί σε μία μόνο επίλεξε ως εξής:
Επίλεξε συνθήκη1
περίπτωση Αληθής
εντολές1
περίπτωση <> (συνθήκη2)
εντολές2
περίπτωση αλλιώς
εντολές3
Τέλος_επιλογών
Η δυσκολία είναι στο να σκεφτείς ότι στην εντολή
ΠΕΡΙΠΤΩΣΗ <> (συνθήκη2) ξέρεις ότι η συνθήκη1 είναι ψευδής οπότε για να σιγουρέψεις μια άλλη συνθήκη ότι είναι αληθής αρκεί να είναι διαφορή της συνθήκη1.
Γενικότερα μπορείς με τον παραπάνω τρόπο να μετατρέψεις οποιαδήποτε δομή πολλαπλής επιλογής σε δομή επίλεξε (καθιστόντας τες ισοδύναμες, αλλά όχι ισοδύναμη με εμφωλευμένα αν) όπως φαίνεται παρακάτω:
ΠΡΟΓΡΑΜΜΑ δοκιμη_επιλεξε
ΣΤΑΘΕΡΕΣ
α = 2
β = 3
γ = 4
δ = 5
κ = 6
λ = 7
ΑΡΧΗ
ΑΝ α > β ΤΟΤΕ
ΓΡΑΨΕ α + β
ΑΛΛΙΩΣ_ΑΝ γ > δ ΤΟΤΕ
ΓΡΑΨΕ γ*δ
ΑΛΛΙΩΣ_ΑΝ κ > λ ΤΟΤΕ
ΓΡΑΨΕ κ - λ
ΑΛΛΙΩΣ
ΓΡΑΨΕ α + δ + λ
ΤΕΛΟΣ_ΑΝ
ΕΠΙΛΕΞΕ α > β
ΠΕΡΙΠΤΩΣΗ ΑΛΗΘΗΣ
ΓΡΑΨΕ α + β
ΠΕΡΙΠΤΩΣΗ <> (γ > δ)
ΓΡΑΨΕ γ*δ
ΠΕΡΙΠΤΩΣΗ <> (κ > λ)
ΓΡΑΨΕ κ - λ
ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
ΓΡΑΨΕ α + δ + λ
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ δοκιμη_επιλεξε
Χρησιμοποίησα σταθερές στο παραπάνω παράδειγμα γιατί στην υλοποίηση της γλώσσας στον διερμηνευτή της γλώσσας, δεν δέχεται να χρησιμοποιηθούν μεταβλητές, κάτι που (στο παρόν βιβλίο του 2019) δεν αναφέρεται στην ύλη.