4.2 Η δομή επανάληψης For στην γλώσσα C#

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

Ο βρόγχος for εκτελεί ένα κομμάτι κώδικα ένα προκαθορισμένο πλήθος επαναλήψεων. Το πλήθος αυτό καθορίζεται από μια αρχική τιμή (αρχικοποίηση), μια συνθήκη για τη συνέχιση της επανάληψης (συνθήκη), και μια αλλαγή της μεταβλητής ελέγχου μετά από κάθε επανάληψη (αύξηση/μείωση).

Η σύνταξη του βρόγχου for είναι η εξής:

for (initialization; condition; increment/decrement)
{
    // Κώδικας που εκτελείται κατά τη διάρκεια των επαναλήψεων
}

Παράδειγμα:

using System;

class Program
{
    static void Main()
    {
        // Χρησιμοποιούμε έναν βρόχο for για να εκτυπώσουμε τους αριθμούς από 0 έως 4
        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("Αριθμός: " + i);
        }
    }
}

Ο παραπάνω κώδικας εκτελεί την εξής λειτουργία:

  1. Αρχικά, γίνεται η δήλωση της κλάσης Program και της στατικής μεθόδου Main.
  2. Εντός της μεθόδου Main, χρησιμοποιείται ένας βρόχος for για την εκτέλεση μιας ενέργειας επαναληπτικά για 5 φορές. Ο βρόχος ξεκινάει με την αρχικοποίηση της μεταβλητής i στην τιμή 0, και ελέγχει αν η τιμή της i είναι μικρότερη από 5. Αν η συνθήκη είναι αληθής, εκτελείται το σώμα του βρόχου.
  3. Μέσα στο σώμα του βρόχου, χρησιμοποιείται η εντολή Console.WriteLine("Αριθμός: " + i); για να εκτυπωθεί ένα μήνυμα στην οθόνη με τον αριθμό που εκπροσωπεί η μεταβλητή i.
  4. Κάθε φορά που εκτελείται το σώμα του βρόχου, η μεταβλητή i αυξάνεται κατά 1 με την εντολή i++, και ο βρόχος επαναλαμβάνεται μέχρι η συνθήκη i < 5 να μην ισχύει πλέον.

Έτσι, ο παραπάνω κώδικας εκτυπώνει τους αριθμούς από 0 έως 4 στην οθόνη.

Το αποτέλεσμα εκτέλεσης του παραπάνω κώδικα θα είναι η εκτύπωση των αριθμών από 0 έως 4 στην οθόνη. Συγκεκριμένα, θα έχουμε την εξής έξοδο:

Αριθμός: 0
Αριθμός: 1
Αριθμός: 2
Αριθμός: 3
Αριθμός: 4

Κάθε γραμμή αντιπροσωπεύει την εκτύπωση του μηνύματος “Αριθμός: ” ακολουθούμενο από τον αντίστοιχο αριθμό που παίρνει η μεταβλητή i κατά την εκτέλεση του βρόχου for.

Με τον βρόγχο for μπορούμε να καθορίσουμε ακριβώς πόσες φορές θέλουμε να επαναλάβουμε ένα μπλοκ κώδικα. Αυτό είναι χρήσιμο όταν έχουμε γνώση εκ των προτέρων για τον αριθμό των επαναλήψεων.

Σε αυτό το παράδειγμα, θα εκτυπώσουμε μόνο τις άρτιες τιμές από το 0 έως το 10:

using System;

class Program
{
    static void Main()
    {
        // Χρησιμοποιούμε έναν βρόχο για να εκτυπώσουμε τους άρτιους αριθμούς από 0 έως 10
        for (int i = 0; i <= 10; i++)
        {
            // Έλεγχος αν ο αριθμός i είναι άρτιος
            if (i % 2 == 0)
            {
                // Εκτύπωση του άρτιου αριθμού
                Console.WriteLine(i);
            }
        }
    }
}

Ο παραπάνω κώδικας σε C εκτυπώνει τους άρτιους αριθμούς από το 0 έως το 10. Αυτό επιτυγχάνεται με τη χρήση ενός βρόχου for και του υποσυνόλου if για τον έλεγχο της άρτιας φύσης του αριθμού.

Αρχικά, ορίζουμε μια μεταβλητή i και την αρχικοποιούμε με την τιμή 0. Στη συνέχεια, ορίζουμε τη συνθήκη εξόδου του βρόχου ως i <= 10, πράγμα που σημαίνει ότι ο βρόχος θα εκτελεστεί μέχρι και τον αριθμό 10.

Μέσα στον βρόχο, χρησιμοποιούμε την συνθήκη i % 2 == 0 για να ελέγξουμε αν ο αριθμός i είναι άρτιος. Η έκφραση i % 2 επιστρέφει το υπόλοιπο της διαίρεσης του i με το 2. Αν το υπόλοιπο είναι 0, τότε ο αριθμός i είναι άρτιος.

Όταν ένας άρτιος αριθμός βρεθεί, χρησιμοποιούμε τη συνάρτηση Console.WriteLine() για να τον εκτυπώσουμε στην οθόνη.

Έτσι, ο κώδικας εκτυπώνει τα ακόλουθα αποτελέσματα:

0
2
4
6
8
10

Αυτοί είναι οι άρτιοι αριθμοί από το 0 έως το 10.

[adinserter block=”2″]

Μπορούμε επίσης να εμφωλεύσουμε έναν βρόχο μέσα σε έναν άλλο βρόχο στη γλώσσα προγραμματισμού. Αυτή η τεχνική ονομάζεται “εμφωλευμένος βρόχος” (nested loop). Με τη χρήση του εμφωλευμένος βρόχου, μπορούμε να εκτελέσουμε ένα σύνολο επαναλήψεων εντός ενός άλλου συνόλου επαναλήψεων.

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

Ο εμφωλευμένος βρόχος είναι ιδιαίτερα χρήσιμος όταν χρειαζόμαστε να εξετάσουμε κάθε συνδυασμό τιμών από διαφορετικά σύνολα δεδομένων ή όταν χρειαζόμαστε να εκτελέσουμε επαναλαμβανόμενες ενέργειες με πολύπλοκες δομές δεδομένων.

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

Ο “εσωτερικός βρόγχος” θα εκτελείται μία φορά για κάθε επανάληψη του “εξωτερικού βρόγχου”:

using System;

class Program
{
    static void Main()
    {
        // Εξωτερική επανάληψη
        for (int i = 1; i <= 3; i++)
        {
            // Εσωτερική επανάληψη
            for (int j = 1; j <= 3; j++)
            {
                Console.WriteLine($"Εξωτερική επανάληψη: {i}, Εσωτερική επανάληψη: {j}");
            }
        }
    }
}


Ο παραπάνω κώδικας εκτελεί μια εμφωλευμένη επανάληψη για να εκτυπώσει μια σειρά μηνυμάτων στην οθόνη. Η εξωτερική επανάληψη εκτελείται τρεις φορές, μετρώντας τη μεταβλητή i από 1 έως 3. Κάθε φορά που εκτελείται η εξωτερική επανάληψη, εκτελείται και η εσωτερική επανάληψη τρεις φορές, μετρώντας τη μεταβλητή j από 1 έως 3.

Κατά την εκτέλεση, κάθε επανάληψη της εσωτερικής επανάληψης εκτυπώνει ένα μήνυμα στην οθόνη με τη χρήση της μεθόδου Console.WriteLine(). Το μήνυμα περιέχει τις τιμές των μεταβλητών i και j, που αντιστοιχούν στην τρέχουσα επανάληψη της εξωτερικής και εσωτερικής επανάληψης αντίστοιχα

Αυτό θα οδηγήσει στην εμφάνιση των παρακάτω μηνυμάτων:

Εξωτερική επανάληψη: 1, Εσωτερική επανάληψη: 1
Εξωτερική επανάληψη: 1, Εσωτερική επανάληψη: 2
Εξωτερική επανάληψη: 1, Εσωτερική επανάληψη: 3
Εξωτερική επανάληψη: 2, Εσωτερική επανάληψη: 1
Εξωτερική επανάληψη: 2, Εσωτερική επανάληψη: 2
Εξωτερική επανάληψη: 2, Εσωτερική επανάληψη: 3
Εξωτερική επανάληψη: 3, Εσωτερική επανάληψη: 1
Εξωτερική επανάληψη: 3, Εσωτερική επανάληψη: 2
Εξωτερική επανάληψη: 3, Εσωτερική επανάληψη: 3

Οι εμφωλιασμένοι βρόγχοι μας επιτρέπουν να εξερευνήσουμε πίνακες δεδομένων, πίνακες πολυδιάστατων δομών, προσομοιώσεις παιχνιδιών και πολλές άλλες πολύπλοκες δομές και σενάρια.

Μια συχνή περίπτωση χρήσης εμφωλευμένων βρόγχων είναι ο εμφωλιασμός ενός βρόγχου for μέσα σε έναν άλλο βρόγχο for. Αυτό μας επιτρέπει να εκτελούμε επαναλαμβανόμενες ενέργειες σε μία πίνακα πολλαπλών διαστάσεων.

Παράδειγμα:

using System;

class Program
{
    static void Main()
    {
        // Δημιουργία ενός πίνακα 3x3 με ακέραιες τιμές
        int[,] matrix = new int[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

        // Επανάληψη για κάθε γραμμή του πίνακα
        for (int row = 0; row < 3; row++)
        {
            // Επανάληψη για κάθε στήλη του πίνακα
            for (int col = 0; col < 3; col++)
            {
                // Εκτύπωση του στοιχείου στην συγκεκριμένη θέση
                Console.WriteLine($"Στοιχείο στη θέση [{row},{col}]: {matrix[row, col]}");
            }
        }
    }
}

Ο παραπάνω κώδικας σε C# δημιουργεί έναν πίνακα 3×3 με ακέραιες τιμές και εκτυπώνει τα στοιχεία του πίνακα μαζί με τις αντίστοιχες θέσεις τους.

Αρχικά, δημιουργείται ένας δισδιάστατος πίνακας matrix με μέγεθος 3×3 και γεμίζει με τις τιμές 1 έως 9.

Στη συνέχεια, χρησιμοποιούνται δύο εμφωλευμένοι βρόχοι for για να προσπελάσουν κάθε στοιχείο του πίνακα. Ο πρώτος βρόχος for ελέγχει τις γραμμές του πίνακα (από 0 έως 2), ενώ ο δεύτερος βρόχος for ελέγχει τις στήλες του πίνακα (από 0 έως 2).

Μέσα στον εμφωλευμένο βρόχο, χρησιμοποιείται η εντολή Console.WriteLine για να εκτυπωθεί το στοιχείο που βρίσκεται στη συγκεκριμένη θέση του πίνακα. Η εκτύπωση περιλαμβάνει και τις συντεταγμένες της θέσης.

Αυτό θα οδηγήσει στην εμφάνιση των παρακάτω μηνυμάτων:

Στοιχείο στη θέση [0,0]: 1
Στοιχείο στη θέση [0,1]: 2
Στοιχείο στη θέση [0,2]: 3
Στοιχείο στη θέση [1,0]: 4
Στοιχείο στη θέση [1,1]: 5
Στοιχείο στη θέση [1,2]: 6
Στοιχείο στη θέση [2,0]: 7
Στοιχείο στη θέση [2,1]: 8
Στοιχείο στη θέση [2,2]: 9

Ο εμφωλιασμός βρόγχων μας επιτρέπει να εξερευνήσουμε πίνακες πολλαπλών διαστάσεων ή οποιαδήποτε άλλη πολύπλοκη δομή δεδομένων που απαιτεί πολλαπλά επίπεδα επαναλήψεων.

[adinserter block=”3″]

Στη γλώσσα προγραμματισμού C#, ο βρόγχος foreach είναι ένας τρόπος για να επαναλαμβάνουμε στοιχεία σε έναν πίνακα ή μια συλλογή (collection) χωρίς να χρειάζεται να ανησυχούμε για τους δείκτες ή τις συντεταγμένες των στοιχείων.

Η σύνταξη του βρόγχου foreach είναι η εξής:

foreach (type variable in collection)
{
    // Κώδικας που εκτελείται για κάθε στοιχείο της συλλογής
}

Κατά τη διάρκεια κάθε επανάληψης, η μεταβλητή variable λαμβάνει την τιμή του επόμενου στοιχείου της συλλογής. Μπορούμε να χρησιμοποιήσουμε αυτήν τη μεταβλητή για να αναφερθούμε στο τρέχον στοιχείο και να εκτελέσουμε τον κώδικα που απαιτείται για κάθε στοιχείο.

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

Παράδειγμα:

using System;

class Program
{
    static void Main()
    {
        // Δημιουργία ενός πίνακα με ονόματα
        string[] names = { "Αλέξανδρος", "Μαρία", "Δημήτρης", "Ελένη" };

        // Επανάληψη για κάθε όνομα στον πίνακα
        foreach (string name in names)
        {
            // Εκτύπωση του ονόματος
            Console.WriteLine(name);
        }
    }
}

Ο παραπάνω κώδικας εκτυπώνει τα ονόματα που βρίσκονται στον πίνακα names. Αρχικά, δημιουργείται ένας πίνακας με τέσσερα ονόματα. Έπειτα, χρησιμοποιώντας τη δομή επανάληψης foreach, το πρόγραμμα παίρνει κάθε όνομα από τον πίνακα και το εκτυπώνει στην οθόνη. Η δομή foreach διατρέχει αυτόματα όλα τα στοιχεία του πίνακα χωρίς να απαιτείται η χρήση δεικτών ή αριθμητικών μετρητών.

Αυτό θα οδηγήσει στην εμφάνιση των παρακάτω μηνυμάτων:

Αλέξανδρος
Μαρία
Δημήτρης
Ελένη

Ο βρόγχος foreach μπορεί να χρησιμοποιηθεί με οποιοδήποτε αντικείμενο που υλοποιεί το πρωτόκολλο IEnumerable. Αυτό σημαίνει ότι μπορεί να χρησιμοποιηθεί με πίνακες, λίστες, συμβολοσειρές και πολλές άλλες συλλογές.

Ένα παράδειγμα χρήσης του βρόγχου foreach με μια λίστα θα ήταν:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Δημιουργία μιας λίστας με ακέραιους αριθμούς
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

        // Επανάληψη για κάθε αριθμό στη λίστα numbers
        foreach (int number in numbers)
        {
            // Εκτύπωση του αριθμού
            Console.WriteLine(number);
        }
    }
}

Ο παραπάνω κώδικας σε C# δημιουργεί μια λίστα με ακέραιους αριθμούς και στη συνέχεια εκτυπώνει κάθε αριθμό στη λίστα.

Συγκεκριμένα, ο κώδικας περιλαμβάνει τα εξής βήματα:

  1. Εισαγωγή των απαραίτητων οδηγιών using για τη χρήση της κλάσης List και της κλάσης Console.
  2. Η Main μέθοδος είναι η κύρια μέθοδος εκτέλεσης του προγράμματος.
  3. Δημιουργείται μια νέα λίστα numbers με ακέραιους αριθμούς, με τιμές 1, 2, 3, 4, 5.
  4. Χρησιμοποιώντας τη δομή επανάληψης foreach, επαναλαμβάνονται όλα τα στοιχεία της λίστας numbers.
  5. Εντός της επανάληψης, κάθε αριθμός από τη λίστα εκτυπώνεται στην κονσόλα.

Ο κώδικας εκτελεί μια απλή ενέργεια εκτύπωσης των αριθμών 1, 2, 3, 4, 5 στη σειρά στην κονσόλα.

Αυτό θα εμφανίσει τα ακόλουθα μηνύματα:

1
2
3
4
5

Ο βρόγχος foreach προσφέρει μια απλή και ευανάγνωστη σύνταξη για την επανάληψη στοιχείων μιας συλλογής. Είναι χρήσιμος όταν γνωρίζουμε ότι θέλουμε να επαναλάβουμε κάθε στοιχείο μιας συλλογής χωρίς να χρειάζεται να χειριστούμε εσωτερικούς δείκτες ή μετρητές.

21 Αυγούστου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων