For-Schleife

For-Schleife
Struktogramm einer For-Schleife

Viele Programmiersprachen definieren eine For-Schleife als eine Kontrollstruktur, mit der man eine Gruppe von Anweisungen (Block) mit einer bestimmten Anzahl von Wiederholungen ausführen kann.

Die Definition, wie eine For-Schleife auszusehen hat (Syntax), ist von Programmiersprache zu Programmiersprache unterschiedlich. Auch die Bedeutung einer For-Schleife (Semantik), also die Art, wie sie ausgeführt wird, ist von Sprache zu Sprache verschieden. Die Elemente, aus denen eine For-Schleife besteht, sind aber fast immer dieselben.

Inhaltsverzeichnis

Numerische Schleife

Die Anzahl der Wiederholungen steht schon beim Eintritt in die Schleife fest. Es gibt eine Schleifenvariable, die am Anfang auf den Startwert gesetzt wird und dann jeweils um die Schrittweite verändert wird, bis der Zielwert erreicht ist. Die Schleifenvariable, der Startwert, die Schrittweite und der Endwert müssen numerisch sein. Diese Form der Schleife ist daher auch unter dem Begriff Zählschleife bekannt.

In den meisten Programmiersprachen sind Start-, Endwert und Schrittweite auf ganze Zahlen beschränkt. Bei manchen Sprachen (z. B. Pascal) ist die Schrittweite auf 1 (bzw -1) beschränkt.

Die Grundstruktur dieser For-Schleifen ist folgende (hier am Beispiel BASIC):

For Zähler = Start to Ende step n
zu
wiederholende
Anweisungen
next

Ausdrucksorientierte Schleife

Die ausdrucksorientierte Schleife erlaubt es auch mit nicht numerischen Schleifenvariablen zu arbeiten. So können zum Beispiel auch verkettete Listen bearbeitet werden.

In C-artigen Programmiersprachen hat eine For-Schleife die Form:

for (Initialisierung; Test; Fortsetzung) Anweisung

Und so wird sie ausgeführt (nach ISO/IEC 9899:1999):

  1. Der Ausdruck Initialisierung wird ausgewertet. Falls es sich dabei um eine Deklaration handelt, sind die darin definierten Variablen nur innerhalb der For-Schleife gültig.
  2. Der Ausdruck Test wird als boolescher Ausdruck ausgewertet. Falls der Wert false ist, wird die For-Schleife beendet.
  3. Die Anweisung Anweisung wird ausgeführt.
  4. Der Ausdruck Fortsetzung (meistens eine Anweisung) wird ausgewertet.
  5. Es geht mit 2. weiter.

Beispiel für Verwendung als nicht-numerische Schleife:

struct Liste {
 struct Liste *next;
 int element;
};
 
for (p = liste; p != NULL; p = p->next) {}

Beispiel für Verwendung als numerische Schleife:

for (i = 0; i < length; i++) {}

Die Foreach-Schleife

Einige Programmiersprachen (zum Beispiel Perl, Python, PHP) bieten ein Konstrukt an, um einer Variable nacheinander alle Elemente einer Liste zuzuweisen.

Perl

Eine Foreach-Schleife hat die Form:

foreach Variable (Werte) { Anweisungen }

Beispiel:

foreach $name ("Anna", "Heinz", "Sebastian") {
 print("Hallo, $name.\n");
}

$name ist die Variable, die nacheinander die Werte in den Klammern zugewiesen bekommt.

PHP

Eine Foreach-Schleife hat die Form:

foreach (Array as Schluessel => Wert) {
 Anweisungen
}

Schluessel und Wert wird in jedem Schleifendurchlauf ein Schlüssel-Wert-Paar aus dem Array zugewiesen. PHP-Arrays unterscheiden sich zu vielen anderen Sprachen dadurch, dass jeder Eintrag ein Schlüssel-Wert-Paar sein kann, nicht nur ein einfacher Wert.

Im Gegensatz zu Perl ist die Syntax nicht an der mathematischen Lesart angelehnt, so dass es komisch klingt, wenn man den Code vorliest. Das kann insbesondere bei Programmieranfängern oder Umsteigern zu Problemen führen. In den meisten anderen Programmiersprachen folgt nämlich auf das Schlüsselwort foreach der Name der Variablen, die nacheinander die verschiedenen Werte annimmt.

Beispiel:

<?php
$namen = array (
 "Albert" => "Einstein",
 "Rasmus" => "Lerdorf",
 "Stephen William" => "Hawking"
);
 
foreach ($namen as $vorname => $nachname) {
 print("Hallo, $vorname $nachname\n");
}
?>

Historisches: Die Für-Schleife von „Superplan“

Heinz Rutishauser entwickelte von 1949 bis 1951 die einfache algebraische Programmiersprache „Superplan“. Rutishauser kannte Konrad Zuses Arbeit über Programmiersprachen, d.h. Zuses Plankalkül und wählte den Namen in Anlehnung an Zuses Bezeichnung „Rechenplan“ für ein einzelnes Programm.
Rutishausers einfache Sprache hatte nur eine Kontrollstruktur: die Für-Anweisung bzw. Für-Schleife.

Für i=2(1)n: ai + 3 = ai

bedeutet z.B., dass in einem Array a zu allen (d.h. es wird mit der Schrittweite 1 weitergezählt) Elementen von Index Startwert 2 ausgehend bis zu Index Zielwert n eine 3 hinzuaddiert wird.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • For-Schleife —   (Zählschleife), eine Laufanweisung in höheren Programmiersprachen (Schleife), bei der die Zahl der Schleifendurchläufe mithilfe eines Zählers, der sog. Laufvariable, angegeben wird. Die Laufvariable beginnt bei einem festen Startwert und wird… …   Universal-Lexikon

  • For — oder For bezeichnet: Fachoberschulreife, siehe Mittlere Reife lateinische Abkürzung des Sternbilds Chemischer Ofen Anweisung bei Programmiersprachen, siehe For Schleife eine spezielle Form der Rehabilitation, siehe Familienorientierte… …   Deutsch Wikipedia

  • For Loop —   [dt. »For Schleife«], Schleife …   Universal-Lexikon

  • FOR — oder For bezeichnet: Fachoberschulreife, siehe Mittlere Reife lateinische Abkürzung des Sternbilds Chemischer Ofen Anweisung bei Programmiersprachen, siehe For Schleife eine spezielle Form der Rehabilitation, siehe Familienorientierte… …   Deutsch Wikipedia

  • For-Next-Schleife — Viele Programmiersprachen definieren eine For Schleife als eine Kontrollstruktur, mit der man eine Gruppe von Anweisungen (Block) mit einer bestimmten Anzahl von Wiederholungen ausführen kann. Die Definition, wie eine For Schleife auszusehen hat… …   Deutsch Wikipedia

  • Schleife (Programmierung) — Eine Schleife ist eine Kontrollstruktur in Programmiersprachen. Sie wiederholt einen Anweisungs Block – den so genannten Schleifenrumpf oder Schleifenkörper – so lange, wie eine Laufbedingung gültig ist oder bis eine Abbruchbedingung eintritt.… …   Deutsch Wikipedia

  • Schleife — Kurve; Biegung; Krümmung; Masche; Schlinge; Schlaufe; Querbinder; Fliege (umgangssprachlich); Mascherl (österr.); Krawattenschleife * * * Schlei|fe [ ʃlai̮fə] …   Universal-Lexikon

  • Schleife — Infobox German Location Name = Schleife Slepo image photo = Wappen = image photo = Kirche Schleife (2007 05).jpg lat deg = 51 |lat min = 32 lon deg = 14 |lon min = 32 Lageplan = Bundesland = Sachsen Regierungsbezirk = Dresden Landkreis = Görlitz… …   Wikipedia

  • Foreach-Schleife — Viele Programmiersprachen definieren eine For Schleife als eine Kontrollstruktur, mit der man eine Gruppe von Anweisungen (Block) mit einer bestimmten Anzahl von Wiederholungen ausführen kann. Die Definition, wie eine For Schleife auszusehen hat… …   Deutsch Wikipedia

  • While-Schleife — In den meisten Programmiersprachen gibt es die While Schleife als Kontrollstruktur. Sie dient dazu, eine Abfolge von Anweisungen mehrfach auszuführen, solange eine Bedingung erfüllt ist. Diese Bedingung wird geprüft, bevor die Anweisungsfolge… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”