Προγραμματισμός FORTRAN > Μαθήματα > Εντολές Ελέγχου | |
|
Οι εντολές ελέγχου, ελέγχουν το πώς και το αν θα εκτελεσθούν κάποια τμήματα του προγράμματος μας. Το κριτήριο τους είναι η τιμή που θα πάρει μια λογική έκφραση που έχουμε ορίσει. Αν (IF) η λογική έκφραση είναι αληθής (.TRUE.) τότε θα εκτελεστεί ότι ακολουθεί την λογική έκφραση ή τη λέξη THEN. Αν η λογική έκφραση είναι ψευδής (.FALSE.) τότε θα εκτελεστεί ότι ακολουθεί τη λέξη ELSE εφόσον υπάρχει ή δεν θα εκτελεστεί τίποτα, και το πρόγραμμα θα συνεχίσει με τις επόμενες εντολές. Οι βασικές εντολές ελέγχου της Fortran είναι η IF THEN ELSE και η SELECT CASE. Η ΕΝΤΟΛΗ IF ... THEN ... ELSE ... END IF Η κυριότερη εντολή ελέγχου είναι η εντολή IF η οποία συναντάται σε διάφορες μορφές σύνταξης. Η πιο απλή μορφή της εντολής IF είναι η:
και η οποία χρησιμοποιείται όταν πρόκειται να εκτελεστεί μόνο μία απλή εντολή και μόνο αν η Λογική Έκφραση (Λ.Έ.) είναι αληθής (TRUE). Αν η Λογική Έκφραση (Λ.Έ.) είναι ψευδής (FALSE) τότε η εντολή αγνοείται και το πρόγραμμα συνεχίζει με την επόμενη. Στη μορφή αυτή δεν χρησιμοποιούμε THEN ούτε END καθώς πρόκειται για εντολή IF μιας γραμμής. Λίγο πιο σύνθετη είναι η περίπτωση που έχουμε παραπάνω από μία εκτελέσιμες εντολές, οπότε τις ομαδοποιούμε χρησιμοποιώντας τις λέξεις THEN και END IF (ή ENDIF):
Η πιο συνηθισμένη μορφή της εντολής IF είναι αυτή όπου η IF πρέπει να επιλέξει ανάμεσα στην εκτέλεση δυο εναλλακτικών ομάδων εντολών. Η πρώτη ομάδα (ΛΈ = αληθής) τοποθετείται μεταξύ THEN και ELSE, και η δεύτερη ομάδα (ΛΈ = ψευδής) τοποθετείται μεταξύ ELSE και END IF:
Τέλος, η πιο σύνθετη διατύπωση της εντολής IF είναι αυτή η οποία περιλαμβάνει πολλές εναλλακτικές περιπτώσεις. Οι ομάδες εντολών κάθε περίπτωσης χωρίζονται με εντολές ELSEIF:
Η ΕΝΤΟΛΗ 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 μεταβλητή ή σταθερά ΟΙ ΛΟΓΙΚΕΣ ΕΚΦΡΑΣΕΙΣ Για να λειτουργήσει σωστά μια εντολή ελέγχου πρέπει να έχει και τη σωστή Λογική Έκφραση. Οι Λογικές Εκφράσεις (ΛΕ) που χρησιμοποιούμε στις εντολές IF, WHILE, κλπ., έχουν τη δική τους σύνταξη με ειδικούς τελεστές. Οι ΛΕ χρησιμοποιούν Λογικούς Τελεστές οι οποίοι δεν δίνουν μεν τιμές, όπως στις αριθμητικές πράξεις, αλλά συγκρίνουν τις μεταβλητές του αριστερού και του δεξιού μέλους τους και δίνουν μια τιμή σε όλη τη ΛΕ (Αληθής=TRUE ή Ψευδής=FALSE). Στον επόμενο πίνακα παρουσιάζονται οι κυριότεροι λογικοί τελεστές και ο τρόπος χρήσης τους. ... PINAKAS ... Όπως και στις αριθμητικές πράξεις, οι λογικές πράξεις εκτελούνται από αριστερά προς τα δεξιά και σύμφωνα με τις παρενθέσεις και τη προτεραιότητα. Η σειρά προτεραιότητας με την οποία υπολογίζεται μια λογική έκφραση είναι η παρακάτω:
Όπως και με τις αριθμητικές πράξεις μπορούμε να επηρεάσουμε τη παραπάνω
σειρά υπολογισμού με τη χρήση παρενθέσεων (( )). |
|
©2006 Δρ. Β. Χ. Μούσας, Επικ. Καθ., e-mail | Τ.Ε.Ι. Αθήνας Τμήμα Πολιτικών Έργων Υποδομής |