studyklar
GdI 2 · Übungsblatt 2 · Aufgabe 2

Summen 1 + 2 + … ausgeben: zwei Schleifen ineinander

Zehn Zeilen von 1 = 1 bis 1 + 2 + … + 10 = 55: Dafür braucht man zwei Schleifen, eine in der anderen. Rechts steht das fertige Programm, die Zeilen zum aktuellen Schritt sind hervorgehoben. Mit Weiter geht es Schritt für Schritt voran.

Die Aufgabe

Aufgabe 2

Erstellen Sie ein Programm, das die Summen der ersten natürlichen Zahlen in der folgenden Weise ausgibt:

1 = 1
1 + 2 = 3
1 + 2 + 3 = 6

usw. – bis zur Summe der Zahlen von 1 bis 10.

Eine Schleife wiederholt Anweisungen. Hier gibt es zwei Wiederholungen: zehnmal eine Zeile, und in jeder Zeile mehrere Zahlen. Darum stecken zwei Schleifen ineinander.

Merke: Bei verschachtelten Schleifen läuft die innere Schleife in jeder Runde der äußeren einmal ganz durch.
  1. Den Aufbau der Ausgabe ansehen.
  2. Äußere Schleife für die Zeilen, Summe auf 0.
  3. Innere Schleife für die Zahlen einer Zeile.
  4. Plus oder Gleichheitszeichen, dann Zeilenumbruch.

Wie die Ausgabe gebaut ist

Zeile iZahlen jAusgabe
111 = 1
21, 21 + 2 = 3
31, 2, 31 + 2 + 3 = 6
………
101 bis 101 + 2 + … + 10 = 55

Zeile 1 hat eine Zahl, Zeile 2 zwei Zahlen, Zeile 3 drei. Allgemein: Zeile i enthält die Zahlen 1 bis i, getrennt durch „ + “, und am Ende „ = “ mit der Summe.

Also zählt eine äußere Schleife die Zeilen i, und eine innere Schleife zählt in jeder Zeile die Zahlen j von 1 bis i.

Die äußere Schleife: eine Runde pro Zeile

        for (int i = 1; i <= 10; i++) {
        }

Eine for-Schleife hat drei Teile in der Klammer: den Start (int i = 1), die Bedingung zum Weitermachen (i <= 10) und den Schritt nach jeder Runde (i++, also i um 1 erhöhen).

So läuft der Block in den geschweiften Klammern zehnmal, mit i = 1, 2, …, 10. Bei i = 11 ist die Bedingung falsch, die Schleife endet.

Aus Vorlesung 2, Folie 19 („for-Schleife“): for (Start; Bedingung; Schritt) { … } wiederholt den Block, solange die Bedingung wahr ist.
Noch 6 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Das Programm Summen

zwei for-Schleifen ineinander

Abbildung 1Das Programm Summen

zwei for-Schleifen ineinander

public class Summen {     public static void main(String[] args) {        for (int i = 1; i <= 10; i++) {            int summe = 0;             for (int j = 1; j <= i; j++) {                summe += j;                System.out.print(j);                 if (j < i) {                    System.out.print(" + ");                } else {                    System.out.print(" = " + summe);                }            }             System.out.println();        }    }}
LegendeDas ganze Programm.