Η επανάληψη WHILE

Η επανάληψη while εκτελείται όσο η συνθήκη ελέγχου είναι αληθής. Όταν η 
συνθήκη ελέγχου γίνει ψευδής η επανάληψη διακόπτεται. Το πρόγραμμα του 
αρχείου WHILE.C δίνει ένα παράδειγμα της επανάληψης while. 

Το πρόγραμμα ξεκινά με τα σχόλια τη συνάρτηση main και στη συνέχεια 
ορίζεται η ακέραια μεταβλητή count. Το πρόγραμμα αρχικοποιεί την μεταβλητή 
στη τιμή 0 και στη συνέχεια ξεκινά την επανάληψη while. Η σύνταξη της 
επανάληψης φαίνεται καθαρά. 

while (έκφραση) {
   πρόταση; 
   ...
   πρόταση;
}

Η λέξη κλειδί while ακολουθείται από μιά έκφραση που περικλείεται σε 
παρενθέσεις και αυτή ακολουθείται από το σώμα της επενάληψης που είναι μία 
σύνθετη πρόταση (compount statement), δηλαδή μία ή περισσότερες προτάσεις. 
Αν η πρόταση είναι μόνο μία ή είναι δομή προτάσεων τότε δεν απαιτούνται 
αγκύλες. Αλλοιώς, αν δηλαδή πρόκειται γιά ακολουθία προτάσεων, οι προτάσεις 
που αποτελούν τη σύνθετη πρόταση ομαδοποιούνται με αγκύλες.  Όσο η έκφραση 
είναι αληθής οι προτάσεις του σώματος εκτελούνται συνεχώς. Στο παράδειγμα οι 
προτάσεις θα εκτελεστούν μέχρι που ο μετρητής count να παρει την τιμή 6. Εφ' 
όσον ο μετρητής αυξάνεται κατά 1 σε κάθε επανάληψη οι προτάσεις θα 
εκτελεστούν 6 φορές. Στη συνέχεια η επανάληψη θα τερματιστεί και η εκτέλεση 
του προγράμματος θα συνεχιστεί με την εκτέλεση της πρότασης αμέσως μετά το 
σώμα της επανάληψης. 'Ετσι το αποτέλεσμα στην οθόνη θα είναι

The value of count is 0
The value of count is 1
The value of count is 2
The value of count is 3
The value of count is 4
The value of count is 5

Η σύνταξη και η λειτουργία της συνθήκης ελέγχου εξετάζεται στο επόμενο 
κεφάλαιο. Μέχρι η συνθήκη τότε ας θεωρηθεί περίπου ως η αντίστοιχη 
μαθηματική λογική έννοια.
 
Δύο σημεία πρέπει να τονιστούν σχετικά με την επενάληψη while. Πρώτο, εάν η 
μεταβλητή count έχει αρχική τιμή κάποιον αριθμό μεγαλύτερο του 5 τότε η 
συνθήκη ελέγχου θα είναι από την αρχή ψευδής και συνεπώς η σύνθετη πρόταση 
του σώματος της επανάληψης δεν θα εκτελεστεί ποτέ. Το πρόγραμμα θα 
συνεχίσει από την πρώτη εντολή μετά την επανάληψη while. Δεύτερο, εάν η τιμή 
της μεταβλητής count  είναι τέτοια που η συνθήκη ελέγχου είναι αληθής και 
στη συνέχεια η τιμή αυτή δεν αλλάζει κατά την εκτέλεση της επανάληψης τότε 
η επανάληψη δεν μπορεί να τερματίσει (infinite loop) και το πρόγραμμα δεν 
μπορεί να τελειώσει κανονικά. 

Σαν εφαρμογή μπορείτε να πειραματιστείτε μεταβάλλοντας  ένα ή περισσότερα 
από τα παρακάτω:

- το όριο τερματισμού (το 6) στη συνθήκη ελέγχου 
- το σύμβολο ανισότητας από μεγαλύτερο σε μικρότερο
- την αρχική τιμή του μετρητή από 0 σε κάποιον άλλο ακέραιο
- το βήμα αύξησης, από +1 σε +ή- κάποιον ακέραιο

Προσπαθήστε να υπολογίσετε τον αριθμό των επαναλήψεων και τις τιμές του 
μετρητή πριν εκτελέσετε κάθε νέα έκδοση του προγράμματος.

Περιεχόμενα Κεφαλαίου