====== for-Schleife ====== Die dritte Art von Schleifen ist die ''for''-Schleife, auch Zählschleife genannt. Sie wird meist verwendet, wenn die Anzahl der Schleifenbedingungen im Vorraus feststeht, wobei eine sogenannte ''Laufvariable'' eingesetzt wird, um die Anzahl der Schleifendurchläufe zu zählen. ==== Beispiel ==== Realisiere das Programmbeispiel der while-Schleife, welches die Zahlen 1 bis n aufsummiert, mit Hilfe der for-Schleife! **Lösung 1**: for(int i=n; i>0; i--){ sum=sum+i; } **Lösung 2**: for (int i=1;i<=n ;i++) { sum=sum+i; } ===== Syntax der for-Anweisung ===== for([Initialisierung];[Bedingungsausdruck]; [Aktualisierung]) { Anweisung1; Anweisung2; ...; } * Das Schlüsselwort ''for'' leitet die ''for''-Anweisung ein. * In Klammern ''('' '')'' eingeschlossen und durch **Strichpunkt getrennt**, folgen der Initialisierungsteil, der Bedingungsausdruck und der Aktualisierungsteil. * Im **Initialisierungsteil** steht die Anweisung, die vor der zu wiederholenden Anweisung auszuführen ist. Hier wird der Laufvariable ein Wert zugewiesen. * Im **Bedingungsausdruck** steht die Abbruchbedingung, die jedesmal vor Betreten der Schleife geprüft wird. * Im **Akualisierungsteil** wird der Wert der Laufvariable aktualisiert, beispielsweise um 1 erhöht (z.B. i++) oder um ein 1 vermindert (z.B. i - -). ==== Aufgabe 1==== Schreibe ein Programm das die gewünschte Malreihe ausgibt. Ein möglicher Benutzerdialog könnte folgendermaßen aussehen: E: Willkommen! Diese Programm berechnet die von Ihnen gewünschte Malreihe! E: Welche Malreihe wünschen Sie? A: 2 A: 1*2=2 2*2=4 ... 10*2=20 ==== Aufgabe 2 ==== Verändere das Programm aus Aufgabe 1 so, dass alle 1*1-Reihen (1-10) auf einmal ausgegeben werden. //Hinweise: Schleifen können auch ineinander geschachtelt werden! // Ausgabebeispiel: Das folgende Programm gibt alle Einmaleins-Reihen aus: 1er-Reihe: 1*1=1 2*1=2 ... 2er-Reihe: 1*2=2 2*2=4 ... ==== Zusätzliche Beispiele zum Thema Schleifen ==== (Müssen nicht unbedingt mit der for-Schleife realisiert werden) ==== Aufgabe 3 ==== Schreibe ein Programm, das eine Quadratzahltabelle von 1 bis zu einem eingegebenen Wert //n// ausgibt. (Quadratzahl.cpp) ==== Aufgabe 4 - Fibonacci ==== Schreibe ein Programm, das die ersten //n// Fibonacci-Zahlen erzeugt und ausgibt! Eine Fibonacci-Zahl berechnet sich aus der Summe der beiden vorhergehenden Zahlen. Die ersten beiden Fibonacci-Zahlen sind gleich 1! (Fibonacci.cpp) z.B.: 1, 1, 2, 3, 5, 8, 13, 21,... ==== Aufgabe 5 - Dezimal-Dual ==== Schreibe ein Programm, das die eingegebene Dezimalzahl in eine Dualzahl umwandelt.\\ Auf welches Problem stößt du dabei? (DeziDual.cpp) ==== Aufgabe 6 - Teiler ==== a) Schreibe ein Programm, das die Teiler einer eingegebenen natürlichen Zahl n auflistet. (Teilerliste.cpp)\\ b) Schreibe ein Programm, das die Anzahl der Teiler eingegebenen natürlichen Zahl n ausgibt. (Teileranzahl.cpp) ==== Aufgabe 7 - Staffelrechnung/Rechenturm ==== Erstelle ein Programm, das eine Staffelrechnung / einen Rechenturm durchführt. Der Benutzer gibt ein, mit welcher Zahl er die Staffelrechnung beginnen will und bis zu welcher Multiplikation die Rechnungen durchgeführt werden: Z.B.\\ Anfangszahl: 385\\ Multiplikationen bis: 6\\ Ausgabe:\\ 385*2=770 770*3=2310 2310*4=9240 9240*5=46200 46200*6=277200 277200/2=138600 138600/3=46200 46200/4=11550 11550/5=2310 2310/6=385 ==== Aufgabe 8 - Temperaturtabelle ==== Schreibe ein C++-Programm zur Umrechnung der Temperaturen von Celsius in Fahrenheit. \\ Verwende die Formel celsius=18+2*zeile. \\ Verwende die Umrechnungsformel fahren = 1.8*celsius+32.0.\\ Es soll folgende Tabelle auf dem Bildschirm ausgegeben werden: ZEILE CELSIUS FAHRENHEIT -------------------------------- 1 20 68.0 2 22 71.6 3 24 75.2 . . . 11 40 104.0