Definite Loop vs Indefinite Loop
Ένας βρόχος είναι ένα μπλοκ κώδικα που επαναλαμβάνεται για έναν καθορισμένο αριθμό φορές ή μέχρι να ικανοποιηθεί κάποια συνθήκη. Ένας καθορισμένος βρόχος είναι ένας βρόχος στον οποίο ο αριθμός των φορών που πρόκειται να εκτελεστεί είναι γνωστός εκ των προτέρων πριν εισέλθει στον βρόχο. Σε έναν ακαθόριστο βρόχο, ο αριθμός των φορών που πρόκειται να εκτελεστεί δεν είναι γνωστός εκ των προτέρων και πρόκειται να εκτελεστεί μέχρι να ικανοποιηθεί κάποια συνθήκη.
Τι είναι ένας καθορισμένος βρόχος;
Ο καθορισμένος βρόχος είναι ένας βρόχος στον οποίο ο αριθμός των φορών που πρόκειται να εκτελεστεί είναι γνωστός εκ των προτέρων πριν εισέλθει στον βρόχο. Ο αριθμός των επαναλήψεων που πρόκειται να επαναλάβει θα παρέχεται συνήθως μέσω μιας ακέραιας μεταβλητής. Γενικά, οι βρόχοι for θεωρούνται ορισμένοι βρόχοι. Ακολουθεί ένα παράδειγμα ορισμένου βρόχου που υλοποιήθηκε χρησιμοποιώντας έναν βρόχο for (στη γλώσσα προγραμματισμού Java).
για (int i=0; i < num; i++)
{
//σώμα του βρόχου for
}
Ο παραπάνω βρόχος θα εκτελέσει το σώμα του πολλές φορές που παρέχεται από τη μεταβλητή num. Αυτό θα μπορούσε να προσδιοριστεί από την αρχική τιμή της μεταβλητής i και τη συνθήκη βρόχου.
Οι βρόχοι ενώ μπορούν επίσης να χρησιμοποιηθούν για την υλοποίηση ορισμένων βρόχων όπως φαίνεται παρακάτω (στην Java).
int i=0;
while(i<num)
{
//σώμα του βρόχου
i++;
}
Ακόμη κι αν αυτό χρησιμοποιεί έναν βρόχο while, αυτός είναι επίσης ένας καθορισμένος βρόχος, καθώς είναι γνωστό εκ των προτέρων ότι ο βρόχος πρόκειται να εκτελέσει πολλές φορές που παρέχεται από τη μεταβλητή num.
Τι είναι ένας αόριστος βρόχος;
Σε έναν αόριστο βρόχο, ο αριθμός των φορών που πρόκειται να εκτελεστεί δεν είναι γνωστός εκ των προτέρων. Συνήθως, ένας αόριστος βρόχος πρόκειται να εκτελεστεί μέχρι να ικανοποιηθεί κάποια συνθήκη. Ενώ οι βρόχοι και οι βρόχοι do-while χρησιμοποιούνται συνήθως για την υλοποίηση αόριστων βρόχων. Παρόλο που δεν υπάρχει συγκεκριμένος λόγος για τη μη χρήση βρόχων for για την κατασκευή αόριστων βρόχων, οι αόριστοι βρόχοι θα μπορούσαν να οργανωθούν σωστά χρησιμοποιώντας βρόχους while. Μερικά από τα κοινά παραδείγματα που θα χρειαστείτε για να εφαρμόσετε αόριστους βρόχους είναι η προτροπή για ανάγνωση μιας εισόδου έως ότου ο χρήστης εισαγάγει έναν θετικό ακέραιο, η ανάγνωση ενός κωδικού πρόσβασης έως ότου ο χρήστης εισάγει τον ίδιο κωδικό πρόσβασης δύο φορές στη σειρά, κ.λπ.
Ποια είναι η διαφορά μεταξύ ορισμένου βρόχου και αόριστου βρόχου;
Ένας καθορισμένος βρόχος είναι ένας βρόχος στον οποίο ο αριθμός των φορών που πρόκειται να εκτελεστεί είναι γνωστός εκ των προτέρων πριν εισέλθει στον βρόχο, ενώ ένας αόριστος βρόχος εκτελείται μέχρι να ικανοποιηθεί κάποια συνθήκη και πόσες φορές θα εκτελεστεί να εκτελεστεί δεν είναι γνωστό εκ των προτέρων. Συχνά, ορισμένοι βρόχοι υλοποιούνται χρησιμοποιώντας βρόχους for και αόριστοι βρόχοι χρησιμοποιώντας βρόχους while και βρόχους do-while. Αλλά δεν υπάρχει κανένας θεωρητικός λόγος να μην χρησιμοποιούνται βρόχοι for για αόριστους βρόχους και ενώ βρόχους για καθορισμένους βρόχους. Αλλά οι αόριστοι βρόχοι θα μπορούσαν να οργανωθούν σωστά με τους βρόχους while, ενώ οι ορισμένοι βρόχοι θα μπορούσαν να οργανωθούν σωστά με τους βρόχους for.