🎯 Στόχοι Κεφαλαίου
Σε αυτό το κεφάλαιο θα μάθεις:
- Πώς να επαναλαμβάνεις εντολές με τους βρόχους for, while και do-while
- Πότε να χρησιμοποιείς κάθε τύπο βρόχου
- Την εντολή goto και γιατί να την αποφεύγεις
- Πώς να αποθηκεύεις πολλές τιμές με πίνακες μιας διάστασης
📑 Περιεχόμενα
4.1 Εισαγωγή στους Βρόχους
🔄 Τι είναι οι Βρόχοι;
Οι βρόχοι (loops) είναι δομές που μας επιτρέπουν να επαναλαμβάνουμε ένα κομμάτι κώδικα πολλές φορές.
Αντί να γράφουμε την ίδια εντολή 100 φορές, χρησιμοποιούμε έναν βρόχο που την εκτελεί 100 φορές αυτόματα!
📌 Οι 3 Βασικοί Τύποι Βρόχων στη C
- for - Όταν ξέρουμε πόσες επαναλήψεις θέλουμε
- while - Όταν δεν ξέρουμε πόσες επαναλήψεις θα χρειαστούν
- do-while - Όταν θέλουμε τουλάχιστον μία εκτέλεση
4.2 Ο Βρόχος for
🎯 Ο Βρόχος for
Ο βρόχος for χρησιμοποιείται όταν ξέρουμε εκ των προτέρων πόσες φορές θέλουμε να επαναληφθεί ο κώδικας.
📋 Τα 3 Μέρη του for
- Αρχικοποίηση - Εκτελείται μία φορά στην αρχή
- Συνθήκη - Ελέγχεται πριν από κάθε επανάληψη
- Ενημέρωση - Εκτελείται μετά από κάθε επανάληψη
📘 Παράδειγμα 1 - Εκτύπωση Αριθμών 1-10
Αποτέλεσμα: 1 2 3 4 5 6 7 8 9 10
📘 Παράδειγμα 2 - Υπολογισμός Αθροίσματος
Αποτέλεσμα: Το άθροισμα των αριθμών 1-100 είναι: 5050
📘 Παράδειγμα 3 - Πολλαπλασιασμοί του 5
Αποτέλεσμα:
Πολλαπλάσια του 5: 5 x 1 = 5 5 x 2 = 10 ... 5 x 10 = 50
⚠️ Προσοχή: Άπειροι Βρόχοι!
Αν η συνθήκη είναι πάντα αληθής, ο βρόχος δεν σταματάει ποτέ!
4.3 Ο Βρόχος while
🎯 Ο Βρόχος while
Ο βρόχος while συνεχίζει να εκτελείται όσο η συνθήκη είναι αληθής.
Χρησιμοποιείται όταν δεν ξέρουμε πόσες επαναλήψεις θα χρειαστούν.
📘 Παράδειγμα 1 - Μέτρημα με while
📘 Παράδειγμα 2 - Μαντέψτε τον Αριθμό
📘 Παράδειγμα 3 - Διπλασιασμός Αριθμού
Αποτέλεσμα: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512
4.4 Ο Βρόχος do-while
🎯 Ο Βρόχος do-while
Ο βρόχος do-while είναι παρόμοιος με τον while, αλλά εκτελείται τουλάχιστον μία φορά γιατί η συνθήκη ελέγχεται στο τέλος.
🔍 Διαφορά while vs do-while
- while: Ελέγχει τη συνθήκη πριν εκτελεστεί ο κώδικας
- do-while: Ελέγχει τη συνθήκη μετά την εκτέλεση του κώδικα
📘 Παράδειγμα 1 - Μενού Επιλογών
📘 Παράδειγμα 2 - Έλεγχος Εισόδου
4.5 Σύγκριση Βρόχων
| Χαρακτηριστικό | for | while | do-while |
|---|---|---|---|
| Χρήση | Γνωστός αριθμός επαναλήψεων | Άγνωστος αριθμός επαναλήψεων | Τουλάχιστον μία εκτέλεση |
| Έλεγχος συνθήκης | Στην αρχή | Στην αρχή | Στο τέλος |
| Ελάχιστες εκτελέσεις | 0 φορές | 0 φορές | 1 φορά |
| Συντομία κώδικα | Πιο συνοπτικός | Πιο ευέλικτος | Για ειδικές περιπτώσεις |
💡 Πότε να χρησιμοποιείς κάθε βρόχο
- Χρησιμοποίησε for για μέτρημα ή όταν ξέρεις τις επαναλήψεις
- Χρησιμοποίησε while όταν δεν ξέρεις πόσες επαναλήψεις χρειάζονται
- Χρησιμοποίησε do-while όταν πρέπει να εκτελεστεί κάτι τουλάχιστον μία φορά
4.6 Εμφωλευμένοι Βρόχοι
🎯 Εμφωλευμένοι Βρόχοι
Μπορούμε να βάλουμε έναν βρόχο μέσα σε άλλον βρόχο. Αυτό λέγεται εμφώλευση (nesting).
📐 Μορφοποίηση Εξόδου με printf
Στην εντολή:
το %4d σημαίνει: Εμφάνισε έναν ακέραιο αριθμό (d) μέσα σε πεδίο πλάτους 4 χαρακτήρων.
🔹 Αναλυτικά:
- Το d δηλώνει ότι θα εκτυπωθεί ένας ακέραιος (decimal integer)
- Ο αριθμός 4 πριν από το d σημαίνει "κράτα 4 θέσεις για αυτόν τον αριθμό"
- Αν ο αριθμός έχει λιγότερα ψηφία, το printf προσθέτει κενά από αριστερά για να συμπληρωθεί το πλάτος
📘 Παραδείγματα μορφοποίησης:
📘 Παράδειγμα 1 - Πολλαπλασιαστικός Πίνακας
Αποτέλεσμα:
1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25
📘 Παράδειγμα 2 - Σχήμα Αστεριών
Αποτέλεσμα:
* * * * * * * * * * * * * * *
4.7 Εντολές break και continue
🎯 Οι Εντολές break και continue
- break - Σταματάει αμέσως τον βρόχο
- continue - Πηγαίνει στην επόμενη επανάληψη
Η Εντολή break
📘 Παράδειγμα - Εύρεση Αριθμού
Αποτέλεσμα: 1 2 3 4 5 6 Βρήκα το 7! Σταματάω.
Η Εντολή continue
📘 Παράδειγμα - Παράλειψη Αρτίων
Αποτέλεσμα: Περιττοί αριθμοί: 1 3 5 7 9
4.8 Η Εντολή goto
⚠️ Η Εντολή goto
Η εντολή goto επιτρέπει το άλμα σε οποιοδήποτε σημείο του προγράμματος.
ΠΡΟΣΟΧΗ: Η χρήση του goto θεωρείται κακή πρακτική και πρέπει να αποφεύγεται!
📘 Παράδειγμα - Χρήση goto (ΔΕΝ ΣΥΝΙΣΤΑΤΑΙ!)
❌ Γιατί να ΑΠΟΦΕΥΓΕΙΣ το goto
- Δημιουργεί δύσκολο στην κατανόηση κώδικα
- Οδηγεί σε "σπαγγέτι κώδικα" (spaghetti code)
- Δυσκολεύει το debugging
- Τα ίδια μπορούν να γίνουν με βρόχους και συναρτήσεις
✅ Αντί για goto, χρησιμοποίησε:
- Βρόχους (for, while, do-while)
- Εντολές break και continue
- Συναρτήσεις (θα τις μάθουμε αργότερα)
4.9 Πίνακες Μιας Διάστασης
🎯 Τι είναι Πίνακας;
Ένας πίνακας (array) είναι μια συλλογή από πολλές μεταβλητές του ίδιου τύπου, αποθηκευμένες συνεχόμενα στη μνήμη.
Αντί να δηλώσεις 100 ξεχωριστές μεταβλητές, δηλώνεις έναν πίνακα με 100 θέσεις!
📋 Βασικά Στοιχεία Πινάκων
- Οι θέσεις αριθμούνται από 0 μέχρι μέγεθος-1
- Όλα τα στοιχεία έχουν τον ίδιο τύπο
- Το μέγεθος πρέπει να είναι σταθερό
📘 Παράδειγμα 1 - Δήλωση και Αρχικοποίηση
📘 Παράδειγμα 2 - Αρχικοποίηση κατά τη Δήλωση
📘 Παράδειγμα 3 - Εισαγωγή Δεδομένων από Χρήστη
🚨 ΠΡΟΣΟΧΗ: Υπέρβαση Ορίων!
Αν προσπαθήσεις να προσπελάσεις θέση εκτός των ορίων του πίνακα, θα προκληθεί σφάλμα!
✅ Καλές Πρακτικές με Πίνακες
- Πάντα να ελέγχεις τα όρια του πίνακα
- Αρχικοποίησε τους πίνακες πριν τη χρήση
- Χρησιμοποίησε σταθερές για το μέγεθος του πίνακα
- Χρησιμοποίησε βρόχους για διάσχιση πινάκων
❌ Συνηθισμένα Λάθη με Πίνακες
- Υπέρβαση ορίων - Πρόσβαση εκτός του μεγέθους
- Μη αρχικοποίηση - Χρήση χωρίς αρχικές τιμές
- Λάθος δείκτες - Ξεχάσματε ότι αρχίζουν από 0
🎓 Τέλος Κεφαλαίου 4
Συγχαρητήρια! Τώρα ξέρεις:
- ✓ Πώς να επαναλαμβάνεις εντολές με βρόχους
- ✓ Πότε να χρησιμοποιείς for, while και do-while
- ✓ Πώς να αποθηκεύεις πολλές τιμές με πίνακες
Επόμενο Κεφάλαιο: Συναρτήσεις (Functions)
Μπάρδης Γιώργος
Τμήμα Ψηφιακών Συστημάτων - Πανεπιστήμιο Πελοποννήσου