www.wikidata.de-de.nina.az
Viele Programmiersprachen definieren eine For Schleife als eine Kontrollstruktur mit der man eine Gruppe von Anweisungen Block mit einer bestimmten Anzahl von Wiederholungen bzw Argumenten ausfuhren kann Struktogramm einer For SchleifeDie 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 ausgefuhrt wird ist von Sprache zu Sprache verschieden Die Elemente aus denen eine For Schleife besteht sind aber fast immer dieselben Inhaltsverzeichnis 1 Numerische Schleife 2 Ausdrucksorientierte Schleife 3 Verschachtelte For Schleifen 3 1 Beispiele 4 Foreach Schleife 4 1 C 4 2 C 4 3 Ada 4 4 Perl 4 5 PHP 5 Historisches Die Fur Schleife von Superplan 6 Siehe auch 7 Weblinks 8 EinzelnachweiseNumerische Schleife Bearbeiten nbsp Monitor eines CBM 3016 mit Commodore BASIC Programm das in Zeile 100 PEEK und POKE in einer FOR Schleife verwendet 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 verandert wird bis der Zielwert erreicht ist Die Schleifenvariable der Startwert die Schrittweite und der Endwert mussen numerisch sein Diese Form der Schleife ist daher auch unter dem Begriff Zahlschleife bekannt In den meisten Programmiersprachen sind Start Endwert und Schrittweite auf ganze Zahlen beschrankt Bei manchen Sprachen ist die Schrittweite auf 1 bzw 1 mit downto statt to beschrankt Die Grundstruktur dieser For Schleifen ist folgende hier am Beispiel BASIC For Zahler Start To Ende Step n zu wiederholende Anweisungen NextAusdrucksorientierte Schleife BearbeitenDie ausdrucksorientierte Schleife erlaubt es auch mit nicht numerischen Schleifenvariablen zu arbeiten So konnen 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 ausgefuhrt nach ISO IEC 9899 1999 Der Ausdruck Initialisierung wird ausgewertet Falls es sich dabei um eine Deklaration handelt sind die darin definierten Variablen nur innerhalb der For Schleife gultig Der Ausdruck Test wird als boolescher Ausdruck ausgewertet Falls der Wert false ist wird die For Schleife beendet Die Anweisung Anweisung wird ausgefuhrt Der Ausdruck Fortsetzung meistens eine Anweisung wird ausgewertet Es geht mit 2 weiter Beispiel fur Verwendung als nichtnumerische Schleife struct Liste struct Liste next int element for p liste p NULL p p gt next Beispiel fur Verwendung als numerische Schleife for i 0 i lt length i Verschachtelte For Schleifen BearbeitenInnerhalb einer For Schleife konnen sich eine oder mehrere weitere For Schleifen befinden Das sind verschachtelte For Schleifen Beispiele BearbeitenDas Sortierverfahren Bubblesort verwendet zwei verschachtelte For Schleifen In der inneren Schleife werden benachbarte Elemente vertauscht public void Bubblesort object elements for int i elements Length 1 i gt 0 i for int j 0 j lt i j object element1 elements j object element2 elements j 1 if element1 gt element2 elements j element2 elements j 1 element1 Die folgende Methode berechnet die Binomialkoeffizienten im Pascalschen Dreieck und gibt ein zweidimensionales Array zuruck public int Binomial int n int binomials new int n binomials 0 new int 1 binomials 0 0 1 for int i 1 i lt n i binomials i new int i 1 for int j 0 j lt i j int left 0 if j gt 0 left binomials i 1 j 1 int right 0 if j lt i right binomials i 1 j binomials i j left right return binomials Foreach Schleife BearbeitenEinige Programmiersprachen zum Beispiel C C Java Perl Python PHP Ruby bieten ein Konstrukt an um einer Variable nacheinander alle Elemente einer Liste zuzuweisen Dieses Konstrukt wird entsprechend seinem ublichen Schlusselwort meist Foreach Schleife genannt Je nach Programmiersprache unterscheiden sich Notation und Schlusselwort jedoch So wird die Foreach Schleife in Object Pascal und JavaScript als For In Schleife bezeichnet In JavaScript wird der Variable entgegen der oben genannten Beschreibung nur der Index bzw Schlussel zugewiesen und nicht das Element selbst denn fur letzteres gibt es die For Of Schleife C Bearbeiten Ab der Version C 11 gibt es in C die bereichsbasierte For Schleife engl range based for 1 Diese vereinfacht das Iterieren uber beliebige Container und andere Objekte fur die die Funktionen std begin und std end uberladen worden sind z B alle Container der Standardbibliothek aber auch uber eingebaute Arrays C style arrays oder benutzerdefinierte Containerdatentypen include lt iostream gt include lt vector gt int main std vector lt int gt vec 5 Initialisiere vec mit 5 Zellen range basierte for Schleife uber Initialisiererliste std initializer list und Zuweisung an die Vektorelemente for auto i 1 2 3 4 5 vec i 1 i range basierte for Schleife uber Vektor for auto i vec std cout lt lt i lt lt 2 Das hierbei benutzte Schlusselwort auto bringt den Compiler dazu automatisch den benotigten Typ zu nutzen ware bei beiden Schleifen int C BearbeitenIn C hat die foreach Schleife folgende Form foreach datatype element in enumerable Im folgenden Beispiel durchlauft die foreach Schleife alle Lander der generischen Liste und gibt alle Lander aus deren Name auf land endet Generische Liste der Lander List lt string gt countries new List lt string gt Liste fullen countries Add Germany countries Add Austria countries Add Switzerland countries Add France countries Add Poland countries Add United States Die foreach Schleife durchlauft der Reihe nach alle Elemente der Liste foreach string country in countries if country EndsWith land Console WriteLine country Ada Bearbeiten Eine Foreach Schleife in Ada hat die Form for Variable 1 in Variable 2 Range loop Anweisungen end loop Beispiel A array 3 5 of Integer 5 9 10 for I in A Range loop Put A I end loop Perl Bearbeiten Eine For oder Foreach Schleife beide Schlusselworte sind synonym in Perl 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 Enthalt der Schleifenblock nur einen Befehl kann auch die nachgestellte Form eingesetzt werden welche allerdings keine selbstbenannte Laufvariable erlaubt say Hallo for qw Anna Heinz Sebastian Eine Verwendung wie in C ist ebenfalls moglich for i 0 i lt length i PHP Bearbeiten Eine Foreach Schleife in PHP hat die Form foreach Array as Schluessel gt Wert Schluessel und Wert wird in jedem Schleifendurchlauf ein Schlussel Wert Paar aus dem Array zugewiesen PHP Arrays unterscheiden sich zu vielen anderen Programmiersprachen dadurch dass jeder Eintrag ein Schlussel 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 Programmieranfangern oder Umsteigern zu Problemen fuhren In den meisten anderen Programmiersprachen folgt namlich auf das Schlusselwort foreach der Name der Variablen die nacheinander die verschiedenen Werte annimmt Beispiel lt php namen array Albert gt Einstein Rasmus gt Lerdorf Stephen William gt Hawking foreach namen as vorname gt nachname print Hallo vorname nachname n gt Historisches Die Fur Schleife von Superplan BearbeitenHeinz Rutishauser entwickelte von 1949 bis 1951 die einfache algebraische Programmiersprache Superplan Rutishauser kannte Konrad Zuses Arbeit uber Programmiersprachen d h Zuses Plankalkul und wahlte den Namen in Anlehnung an Zuses Bezeichnung Rechenplan fur ein einzelnes Programm Rutishausers einfache Sprache hatte nur eine Kontrollstruktur die Fur Anweisung bzw Fur Schleife Fur i 2 1 n a i displaystyle a i nbsp 3 a i displaystyle a i nbsp bedeutet z B dass in einem Array a zu allen d h es wird mit der Schrittweite 1 weitergezahlt Elementen von Index Startwert 2 ausgehend bis zu Index Zielwert n eine 3 hinzuaddiert wird Siehe auch BearbeitenSchleife Programmierung While Schleife Do while Schleife etc Endlosschleife Programmierung Weblinks BearbeitenAuflistung der Syntax von Programmiersprachkonstrukten The New C Standard An Economic and Cultural Commentary Englischsprachiges Buch das C in aller Ausfuhrlichkeit behandelt und mit anderen Sprachen vergleicht Die For Schleife ist ab Seite 1428 Kap 6 8 5 3 im PDF Dokument erklart Einzelnachweise Bearbeiten research att com Memento des Originals vom 11 Mai 2011 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www2 research att com cppreference com Initialisiererlisten Abgerufen von https de wikipedia org w index php title For Schleife amp oldid 236555780