Προγραμματισμός FORTRAN > Μαθήματα > Εντολές Ελέγχου
Αρχική-HomeΠαραδείγματαΕντολές-ΣυναρτήσειςΟδηγίες-FAQsΣυνδέσεις-Links

ΜΑΘΗΜΑ: ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ

Οι εντολές ελέγχου, ελέγχουν το πώς και το αν θα εκτελεσθούν κάποια τμήματα του προγράμματος μας. Το κριτήριο τους είναι η τιμή που θα πάρει μια λογική έκφραση που έχουμε ορίσει. Αν (IF) η λογική έκφραση είναι αληθής (.TRUE.) τότε θα εκτελεστεί ότι ακολουθεί την λογική έκφραση ή τη λέξη THEN. Αν η λογική έκφραση είναι ψευδής (.FALSE.) τότε θα εκτελεστεί ότι ακολουθεί τη λέξη ELSE εφόσον υπάρχει ή δεν θα εκτελεστεί τίποτα, και το πρόγραμμα θα συνεχίσει με τις επόμενες εντολές. Οι βασικές εντολές ελέγχου της Fortran είναι η IF THEN ELSE και η SELECT CASE.


αρχή

Η ΕΝΤΟΛΗ IF ... THEN ... ELSE ... END IF

Η κυριότερη εντολή ελέγχου είναι η εντολή IF η οποία συναντάται σε διάφορες μορφές σύνταξης. Η πιο απλή μορφή της εντολής IF είναι η:

IF (Λογική Έκφραση) εκτελέσιμη εντολή

και η οποία χρησιμοποιείται όταν πρόκειται να εκτελεστεί μόνο μία απλή εντολή και μόνο αν η Λογική Έκφραση (Λ.Έ.) είναι αληθής (TRUE). Αν η Λογική Έκφραση (Λ.Έ.) είναι ψευδής (FALSE) τότε η εντολή αγνοείται και το πρόγραμμα συνεχίζει με την επόμενη. Στη μορφή αυτή δεν χρησιμοποιούμε THEN ούτε END καθώς πρόκειται για εντολή IF μιας γραμμής.

Λίγο πιο σύνθετη είναι η περίπτωση που έχουμε παραπάνω από μία εκτελέσιμες εντολές, οπότε τις ομαδοποιούμε χρησιμοποιώντας τις λέξεις THEN και END IF (ή ENDIF):

IF (Λογική Έκφραση) THEN
  εντολές (αν η Λ.Έ. = Αληθής-true)
END IF

Η πιο συνηθισμένη μορφή της εντολής IF είναι αυτή όπου η IF πρέπει να επιλέξει ανάμεσα στην εκτέλεση δυο εναλλακτικών ομάδων εντολών. Η πρώτη ομάδα (ΛΈ = αληθής) τοποθετείται μεταξύ THEN και ELSE, και η δεύτερη ομάδα (ΛΈ = ψευδής) τοποθετείται μεταξύ ELSE και END IF:

IF (Λογική Έκφραση) THEN
  εντολές (αν η Λ.Έ. = Αληθής-true)
ELSE
  εντολές (αν η Λ.Έ. = Ψευδής-false)
END IF

Τέλος, η πιο σύνθετη διατύπωση της εντολής IF είναι αυτή η οποία περιλαμβάνει πολλές εναλλακτικές περιπτώσεις. Οι ομάδες εντολών κάθε περίπτωσης χωρίζονται με εντολές ELSEIF:

IF (Λογική Έκφραση 1) THEN
  εντολές (αν η Λ.Έ. 1 = Αληθής-true)
ELSEIF (Λογική Έκφραση 2) THEN
  εντολές (αν η Λ.Έ. 2 = Αληθής-true)
ELSEIF (Λογική Έκφραση 3) THEN
  εντολές (αν η Λ.Έ. 3 = Αληθής-true)
ELSE
  εντολές (αν όλες οι Λ.Έ. = Ψευδείς-false)
END IF


αρχή

Η ΕΝΤΟΛΗ SELECT CASE ... CASE ... END SELECT

Η εντολή SELECT CASE δημιουργήθηκε για να αντικαθιστά ομοειδείς και επαναλαμβανόμενες εντολές του τύπου IF...THEN...ELSE. Όταν π.χ. σε μια ΛΕ συγκρίνεται συνεχώς η ίδια έκφραση για διαφορετικές τελικές τιμές (με άλλο IF ή ELSEIF), και για κάθε σύγκριση πρέπει να εκτελείται άλλο γκρουπ εντολών, τότε είναι προτιμότερο να χρησιμοποιήσουμε μια εντολή CASE.

Η πρώτη γραμμή είναι η SELECT CASE η οποία ακολουθείται από το όνομα της ποσότητας ή μεταβλητής που θα συγκρίνουμε, και η τελευταία γραμμή είναι η END SELECT. Ανάμεσα τους τοποθετούμε τόσες εντολές CASE όσες και οι περιπτώσεις που θέλουμε να ελέγξουμε συν μία, την CASE DEFAULT, για να καλύψουμε όσες περιπτώσεις που δεν έχουμε συμπεριλάβει στις προηγούμενες CASE (αντίστοιχη της ELSE στο IF). Η γενική μορφή της CASE είναι η:

SELECT CASE μεταβλητή ή σταθερά
  CASE (τιμή 1)
    εντολές
  CASE (τιμή 2)
    εντολές
  CASE (τιμή 3)
    εντολές
  CASE DEFAULT
    εντολές
END SELECT


αρχή

ΟΙ ΛΟΓΙΚΕΣ ΕΚΦΡΑΣΕΙΣ

Για να λειτουργήσει σωστά μια εντολή ελέγχου πρέπει να έχει και τη σωστή Λογική Έκφραση. Οι Λογικές Εκφράσεις (ΛΕ) που χρησιμοποιούμε στις εντολές IF, WHILE, κλπ., έχουν τη δική τους σύνταξη με ειδικούς τελεστές.

Οι ΛΕ χρησιμοποιούν Λογικούς Τελεστές οι οποίοι δεν δίνουν μεν τιμές, όπως στις αριθμητικές πράξεις, αλλά συγκρίνουν τις μεταβλητές του αριστερού και του δεξιού μέλους τους και δίνουν μια τιμή σε όλη τη ΛΕ (Αληθής=TRUE ή Ψευδής=FALSE).

Στον επόμενο πίνακα παρουσιάζονται οι κυριότεροι λογικοί τελεστές και ο τρόπος χρήσης τους.

... PINAKAS ...

Όπως και στις αριθμητικές πράξεις, οι λογικές πράξεις εκτελούνται από αριστερά προς τα δεξιά και σύμφωνα με τις παρενθέσεις και τη προτεραιότητα. Η σειρά προτεραιότητας με την οποία υπολογίζεται μια λογική έκφραση είναι η παρακάτω:

    1. οι αριθμητικές πράξεις
    2. οι 6 τελεστές σύγκρισης
    3. ο τελεστής .NOT.
    4. ο τελεστής .AND.
    5. ο τελεστής .OR.

Όπως και με τις αριθμητικές πράξεις μπορούμε να επηρεάσουμε τη παραπάνω σειρά υπολογισμού με τη χρήση παρενθέσεων (( )).


αρχή

Prev Μάθημα Next


Παραδείγματα

Ερωτήσεις


©2006 Δρ. Β. Χ. Μούσας, Επικ. Καθ., e-mail Τ.Ε.Ι. ΑθήναςΤμήμα Πολιτικών Έργων Υποδομής