Βρ

Βρόχοι σε C++

12 ασκήσεις

Σχετικά με την έννοια Βρόχοι

Οι βρόχοι χρησιμοποιούνται για να εκτελείται κάποια λογική επανειλημμένα. Οι δύο πιο συνηθισμένοι τύποι είναι ο while loop (αόριστη επανάληψη) και ο for loop (ορισμένη ή μετρημένη επανάληψη). Υπάρχει επίσης ο βρόχος for each, που θα εμφανιστεί σε επόμενη ενότητα.

Γενική σύνταξη

Ο for loop αποτελείται από μια κεφαλίδα και ένα μπλοκ κώδικα που περιέχει το σώμα του βρόχου μέσα σε άγκιστρα. Η κεφαλίδα αποτελείται από 3 μέρη χωρισμένα με το σύμβολο ;: το init-statement, το condition και το expression. Καθένα από αυτά μπορεί να είναι κενό.

for (init-statement; condition; expression) {
  some_statement;
}
  • Το μέρος init είναι κώδικας που εκτελείται μόνο μία φορά πριν ξεκινήσει ο βρόχος.
  • Το μέρος condition πρέπει να είναι μια έκφραση που αξιολογείται σε boolean και ελέγχει πότε πρέπει να σταματήσει ο βρόχος. Ο κώδικας μέσα στον βρόχο θα εκτελείται όσο αυτή η συνθήκη είναι αληθής. Μόλις η έκφραση αυτή αξιολογηθεί ως ψευδής, δεν θα εκτελεστεί καμία άλλη επανάληψη του βρόχου.
  • Το μέρος expression είναι κώδικας που θα εκτελείται στο τέλος κάθε επανάληψης.

Ο while loop εκτελεί το σώμα του όσο ο έλεγχος της συνθήκης του είναι αληθής. Το παρακάτω απόσπασμα κώδικα δείχνει πώς να μετατρέψεις έναν βρόχο for σε βρόχο while.

init-statement;
while(condition) {
    some_statement;
    expression;
}

Παρένθεση: Αυξήσεις και μειώσεις

Όταν δουλεύεις με βρόχους, συχνά χρειάζεται να προσθέσεις 1 ή να αφαιρέσεις 1 από μια μεταβλητή μετρητή. Αυτό είναι τόσο συνηθισμένο, που η πράξη έχει δικούς της τελεστές: ++ και --.

Υπάρχουν σε προθεματική και σε μεταθεματική μορφή. Η προθεματική μορφή αλλάζει τη μεταβλητή πριν από τη χρήση της στην εντολή, ενώ η μεταθεματική μετά. Τις περισσότερες φορές μάλλον θέλεις την προθεματική μορφή.

int a{3};
int b{--a};
// b is 2, a is now 2
int c{a++};
// c is 2, a is now 3

Βρόχοι for: ένα παράδειγμα

Το μέρος init συνήθως ορίζει μια μεταβλητή μετρητή, το condition ελέγχει αν ο βρόχος πρέπει να συνεχιστεί ή να σταματήσει και το μέρος post συνήθως αυξάνει τον μετρητή στο τέλος κάθε επανάληψης.

int sum{0};
for (int i{1}; i < 10; ++i) {
  sum += i;
}

Αυτός ο βρόχος θα αθροίσει τους αριθμούς από το 1 έως το 9 (συμπεριλαμβανομένου του 9).

Break και Continue

Μέσα στο σώμα ενός βρόχου, μπορείς να χρησιμοποιήσεις τη λέξη-κλειδί break για να σταματήσεις εντελώς την εκτέλεση του βρόχου:

int sum{2};
while(true) {
    sum *= 2;
    if (sum > 1000)
        break;
}
// sum is now 1024

Αντίθετα, η λέξη-κλειδί continue σταματά μόνο την εκτέλεση της τρέχουσας επανάληψης και συνεχίζει με την επόμενη:

int equal_sum{0};
for (int i{1}; i < 7; ++i) {
  if  (n%2 == 1) {
    continue;
  }
  equal_sum += i;
}
// equal_sum is now 12

Σημείωση: συνήθως είναι πιο εύκολο να καταλάβεις τη λογική του βρόχου όταν η χρήση των break και continue περιορίζεται στο ελάχιστο ή αποφεύγεται εντελώς.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Βρόχοι

Η εξάσκηση είναι κλειδωμένη

Ξεκλείδωσε 4 ακόμη ασκήσεις για να εξασκηθείς στην έννοια Βρόχοι