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

ΜΑΘΗΜΑ: ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ

Οι εντολές της Fortran εκτελούνται με τη σειρά που εμφανίζονται στο πρόγραμμα από πάνω προς τα κάτω (top-down). Αυτό ίσως είναι αρκετό για μερικά απλά προγράμματα. Όμως, το βασικό προσόν και ο λόγος δημιουργίας των μηχανών και του Η/Υ ειδικότερα, είναι η αδιαμαρτύρητη και γρήγορη επανάληψη όποιας ενέργειας τους αναθέτουμε.

Με τις εντολές επανάληψης DO ... END DO και DO WHILE ... END DO μπορούμε να επαναλάβουμε ένα τμήμα του προγράμματος, έτσι ώστε αυτό να εκτελεστεί ταχύτατα, όσες φορές θέλουμε, και μάλιστα, με διαφορετικές τιμές των μεταβλητών κάθε φορά. Σε πολλούς αλγορίθμους όπου χρειάζεται να διακοπεί η επανάληψη πρόοωρα χρησιμοποιούμε και τις εντολές εξόδου EXIT και CYCLE.


αρχή

Η ΕΝΤΟΛΗ DO ... END DO

Για να επαναλάβουμε πολλές φορές μια ομάδα εντολών, πρέπει να την εντάξουμε μέσα σε ένα γκρουπ εντολών επανάληψης DO ... END DO. Το γκρουπ των εντολών επανάληψης έχει σαν πρώτη εντολή την εντολή DO, η οποία περιέχει και τον μετρητή των επαναλήψεων ή δείκτη, και σαν τελευταία εντολή την εντολή END DO (ή ENDDO).

Η γενική μορφή της εντολής DO είναι η παρακάτω:

DO δείκτης = αρχή, τέλος, βήμα
  εντολή 1
  εντολή 2
  ... κλπ.
END DO

Η επανάληψη DO λειτουργεί ως εξής:

  1. Κατά την πρώτη εκτέλεση του βρόγχου, η μεταβλητή δείκτης παίρνει τη τιμή αρχή.
  2. Μετά την εκτέλεση των εντολών (1, 2, ... κλπ. ) και όταν φτάσει στην εντολή END DO, η μεταβλητή δείκτης αυξάνει κατά ένα βήμα (δείκτης = δείκτης + βήμα).
  3. Στη συνέχεια γίνεται έλεγχος του δείκτη και αν η τιμή του έχει γίνει μεγαλύτερη από το τέλος τότε η επανάληψη του βρόγχου σταματά, διαφορετικά, ο βρόγχος επαναλαμβάνεται με τη νέα τιμή του δείκτη.
  4. Όταν τελειώσουν οι επαναλήψεις του DO, η εκτέλεση του προγράμματος θα συνεχίσει με την εντολή που βρίσκεται αμέσως μετά την εντολή END DO.

αρχή

Η ΕΝΤΟΛΗ DO WHILE ... END DO

Η εντολή DO εκτελεί πάντα ένα συγκεκριμένο αριθμό επαναλήψεων, σταθερό και γνωστό πριν τη έναρξη του βρόγχου. Επιπλέον, περιέχει τη πιθανότητα να μην εκτελεστεί καθόλου ο βρόγχος αν η συνθήκη δεν ικανοποιείται.

Όταν ο αριθμός των επαναλήψεων δεν είναι γνωστός πριν την έναρξη του βρόγχου, ή/και, όταν πρέπει να εξασφαλίσουμε ότι ο βρόγχος θα εκτελεστεί τουλάχιστον μια φορά, χρησιμοποιούμε την εντολή DO WHILE ... END DO, η οποία έχει παρόμοια δομή με τη DO.

DO WHILE (λογική έκφραση)
  εντολή 1
  εντολή 2
  ... κλπ.
END DO

Οι επαναλήψεις μέσα στη DO WHILE πραγματοποιούνται μόνον εφόσον η λογική έκφραση είναι αληθής (παίρνει τη τιμή TRUE).

Η εντολή WHILE είναι απαραίτητη για προγράμματα που λύνουν προσεγγιστικά προβλήματα μηχανικών με αριθμητική ανάλυση, πεπερασμένα στοιχεία, κ.ά. όπου, χρειάζεται οπωσδήποτε μια αρχική εκτίμηση, ενώ ο αριθμός των επαναλήψεων προσδιορίζεται αργότερα από το βαθμό ή την ακρίβεια προσέγγισης στη βέλτιστη λύση.

Συχνά, η λογική έκφραση που ακολουθεί το WHILE, περιέχει περισσότερες από μια συνθήκες που συνδέονται με λογικά AND και OR. Ο τρόπος γραφής και οι κανόνες αυτών των λογικών εκφράσεων και συνθηκών, αναφέρονται λεπτομερώς κατά τη παρουσίαση των εντολών ελέγχου (IF).


αρχή

ΟΙ ΕΝΤΟΛΕΣ EXIT & CYCLE

Οι EXIT & CYCLE χρησιμοποιούνται για τον πρόωρο τερματισμό των βρόγχων. Στο προγραμματισμό παίζει σημαντικό ρόλο η ταχύτητα εκτέλεσης ενός προγράμματος. Συχνά είναι σκόπιμο να τερματιστεί πρόωρα μια εντολή επανάληψης. Για παράδειγμα μια εντολή DO που πρόκειται να εκτελεστεί μερικές εκατοντάδες ή χιλιάδες φορές αναζητώντας μια τιμή σε ένα σύνολο δεδομένων, είναι σκόπιμο να τερματιστεί αμέσως μόλις τη βρει. Αυτό μπορεί να συμβεί από τις πρώτες επαναλήψεις και έτσι να συντομεύσει σημαντικά ο χρόνος εκτέλεσης του προγράμματος.

Η εντολή EXIT διακόπτει τελείως τη εκτέλεση του βρόγχου και μεταφέρει την εκτέλεση στην εντολή που βρίσκεται μετά την END DO. Με την EXIT δεν πραγματοποιούνται οι υπόλοιπες επαναλήψεις του DO.

Η εντολή CYCLE μεταφέρει την εκτέλεση πίσω στη DO για την επόμενη επανάληψη χωρίς να εκτελέσεις τις υπόλοιπες εντολές που περιέχονται μεταξύ της CYCLE και της END DO. Με την CYCLE πραγματοποιούνται οι υπόλοιπες επαναλήψεις του DO αλλά είναι πιο σύντομες γιατί εκτελούν λιγότερες εντολές.


αρχή

Prev Μάθημα Next


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

Ερωτήσεις


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