Οι εντολες επιλογής

H Εντολή If

Οι εντολές για τη λήψη αποφάσεων επιτρέπουν στο πρόγραμμα να εκτελεί διαφορετικές ενέργειες βασιζόμενο σε κάποιους λογικούς ελέγχους. Εδώ θα δούμε τις εντολές If και Case. Η εντολή If … Then αποτελείται από τη δεσμευμένη λέξη If που ακολουθείται από μια συνθήκη και μετά από τη δεσμευμένη λέξη Then. Μετά το Then ακολουθεί μία εντολή ή ένα σύνολο εντολών. Η εντολή If … Then ελέγχει τη συνθήκη και αν αυτή είναι αληθής (true) τότε εκτελούνται οι εντολές που βρίσκονται μετά το Then.

Η σύνταξη της εντολής είναι ως εξής :

If συνθήκη Then εντολή1

Η εντολή1 εκτελείται αν η συνθήκη είναι αληθής (true) και αγνοείται σε περίπτωση που η συνθήκη είναι ψευδής (false). Όταν μετά το Then ακολουθούν περισσότερες από μία εντολές, τότε αυτές πρέπει να εσωκλείνονται σε Begin και End για να σχηματιστεί μια σύνθετη εντολή.

 

Η Εντολή Else

Σε μια εντολή If μπορεί να υπάρχει προαιρετικά και η πρόταση Else, ακολουθούμενη από μία ή περισσότερες εντολές που εκτελούνται αν η συνθήκη του If είναι ψευδής. Η πρόταση Else επιτρέπει σε μια πρόταση If να πάρει δύο διαφορετικές αποφάσεις. Ανάλογα με τους ελέγχους του προγράμματος επιτρέπεται το φώλιασμα και ο συνδυασμός των εντολών If .. Then .. Else. Κάθε πρόταση Else συνδέεται με την αμέσως προηγούμενή της If.

Ακολουθεί ένα παράδειγμα :

If (my_age >= 18) then

Writeln(‘ … ‘)

Else

Writeln(‘ … ‘)

Στο παραπάνω παράδειγμα, αν η μεταβλητή my_age είναι μεγαλύτερη ή ίση από 18, θα εκτελεστεί η πρώτη εντολή Writeln(), αλλιώς, δηλ. αν η μεταβλητή my_age είναι μικρότερη από 18, θα εκτελεστεί η δεύτερη εντολή Writeln(), που βρίσκεται μετά την πρόταση Else.

 

Η Εντολή Case

Η εντολή Case επιλέγει μία πράξη ανάμεσα από πολλές με βάση το αποτέλεσμα ενός ελέγχου. Η προς έλεγχο έκφραση καλείται «επιλογέας» και κάθε επιλογή καλείται «σταθερά»της Case. Αν ο επιλογέας δεν ταιριάζει με καμία από τις σταθερές της Case, θα εκτελεστεί η δήλωση που ορίζεται με τη λέξη Else. Κάθε εντολή Case πρέπει να τερματίζεται με μια εντολή End.

Αν η έκφραση του επιλογέα είναι αριθμός, θα πρέπει να παίρνει τιμές μέσα από το πεδίο τιμών -32768 έως +32767. Έτσι, δεν μπορούν να χρησιμοποιηθούν σαν επιλογείς τα αλφαριθμητικά και οι πραγματικοί αριθμοί. Υπάρχει όμως μια ποικιλία επιλογών : Οι τύποι Char, Boolean και Set.

Η σύνταξη της εντολής Case είναι ως εξής :

Case επιλογέας of

                        σταθερά1 : εντολή1;

            σταθερά2 : εντολή2;

                        …

            …

            …

                        σταθεράΝ : εντολήΝ;

Else εντολή ;

End;

Οι σταθερές της εντολής Case μπορεί να είναι απλές σταθερές, μια ομάδα ή ένα τμήμα σταθερών. Ακολουθεί ένα παράδειγμα :

Case val_num of

1, 3, 5, 7, 9     : Writeln(‘ … ‘);

            2, 4, 6, 8         : Writeln(‘ … ‘);

End;

Στο παραπάνω παράδειγμα, αν η μεταβλητή val_num πάρει μια τιμή από τις 1, 3, 5, 7 ή 9, θα εκτελεστεί η πρώτη εντολή, ενώ αν πάρει μια τιμή από τις 2, 4, 6 ή 8, θα εκτελεστεί η δεύτερη εντολή. Οι εντολές για εκτέλεση μπορεί να είναι απλές εντολές ή ένα σύνολο εντολών (σύνθετη εντολή).