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, θα εκτελεστεί η δεύτερη εντολή. Οι εντολές για εκτέλεση μπορεί να είναι απλές εντολές ή ένα σύνολο εντολών (σύνθετη εντολή).