Wann benutze ich welche Schleife?

  • Hallo,

    bei den Struktogrammen gibt es drei Schleifen: kopfgesteuert/abweisende, Fussgesteuert/nichtabweisende und laufbereichsgesteuert.

    Was sind die Merkmale, wann ich welche Schleife einsetze?

    Habe zwar ein paar Beispiele durchgespielt, aber so wirklich "klickt" es nicht.

    Habt Ihr Infos und Tipps.

    Danke im voraus.

    Gruß
    Matt_informatic

  • Grundsätzlich ist es egal, welchen Typ von Schleife du verwendest, du kannst einen Typ einer Schleife immer durch einen anderen Typ ersetzen. Hier ein Beispiel einer Schleife in C, welche die Zahlen von 1 bis 10 ausgeben soll:

    Kopfgesteuert:

    Code
    int a=0;
    while(a<10) {
        a++;
        printf("%i\n",a);
    }
    Code
    int a;
    for(a=1;a<11;a++) {
        printf("%i\n",a);
    }

    Fußgesteuert:

    Code
    int a=0;
    do {
        a++;
        printf("%i\n",a);
    } while (a<10);

    Laufbereichsgesteuert:

    Code
    int a=0;
    for(;;) {
        a++;
        if(a==11) break;
        printf("%i\n",a);
    }

    Welchen Typ von Schleifen du am besten für einen bestimmten Fall verwendest, das bekommst du, wenn du programmierst, ganz von alleine in den Griff. Ich halte es daher nicht für sinnvoll, dafür irgendwelche Regeln aufzustellen. Ich kann dir nur sagen: Ich verwende kaum fußgesteuerte Schleifen - einfach aus Gewohnheit.

  • naja ich würd sagen:
    wenn die schleife in jedem fall mind. 1mal durchlaufen werden soll, fußgesteuert, ansonsten kopfgesteuert (weil übersichtlicher); "break" und "continue" wenn es sein muss, die fördern die übersichtlichkeit aber auch nicht wirklich.

    Es genügt nicht, keine Meinung zu haben. Man muss auch unfähig sein, sie auszudrücken. Karl Kraus

  • Wann z.B. bzw. in welchen Fällen muss den die Schleife mindestens 1x durchlaufen werden?

    Das kommt ganz darauf auf dein Programm an. Daraus, was dein Programm tun soll, kannst du herleiten, wie oft die Schleife, die du schreiben willst, ausgeführt werden soll - ist die Anzahl an Iterationen konstant, kann es vorkommen, dass die Schleife gar nicht ausgeführt werden soll etc.

    Willst du beispielsweise über die Zahlen von 1 bis 10 iterieren, wie in meinem Posting oben, weißt du, dass genau zehn Iterationen ausgeführt werden; dann kannst du dich entscheiden, welchen Typ von Schleife du verwenden willst.

    Willst du beispielsweise über Dateien in einem Verzeichnis iterieren, kann es vorkommen, dass das Verzeichnis leer ist, dann wird die Schleife kein einziges Mal ausgeführt. In diesem Fall ist eine fußgesteuerte Schleife nicht sinnvoll, da vor der Überprüfung der Schleifenbedingung erst nach der ersten Iteration der Schleife erfolgt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!