ASG LO/Beispiel 1

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
Wir bilden die Summe aller Zahlen zwischen 0 und 10. <br>
Denkbar ist es, dass ein Programmierer dazu einfach Zeilen wiederholt.<br>

<run id="4c1f5cfda918d">
System.out.println("0 + 1 = 1");
System.out.println("1 + 2 = 3");
System.out.println("3 + 3 = 6");
System.out.println("6 + 4 = 10");
System.out.println("10 + 5 = 15");
System.out.println("15 + 6 = 21");
System.out.println("21 + 7 = 28");
System.out.println("28 + 8 = 36");
System.out.println("36 + 9 = 45");
System.out.println("45 + 10 = 55");
</run>

Eleganter ist da schon die Verwendung der [[java/while-Schleife|while-Schleife]]

<code id="4c1f5cfda99c8">
int summe_vor(int grenze)
{
int zaehler =0;
int summe = 0;
while (zaehler<grenze+1) 
    {    
    System.out.println((summe)+"+"+(zaehler)+" = "+(summe+zaehler)); 
    summe = summe + zaehler;
    zaehler++;
    }
return summe;
}
</code>

<check>
return (summe_vor() == 55);
</check> 

<run id="4d36e585e4327">
     System.out.println("Die Summe aller zahlen zwischen 0 und 10 lautet " + summe_vor() );
</run>

Verwende für obige Aufgabe eine nachprüfende Schleife.

<code id="4c1f5cfda99c8">
int summe_nach()
{
// Gib hier den Quelltext ein.
return summe;
}
</code>

<run id="4d36e585e4327">
     System.out.println("Die Summe aller zahlen zwischen 0 und 10 lautet " + summe_nach() );
</run>

Für diese Programmieraufgabe bietet sich die Zählschleife an. Sie ist immer dann sinnvoll einsetzbar, wenn 
* Eine bestimmte Anzahl von Wiederholungen durchgeführt werden soll
* Eine Variable von einem bestimmten Wert bis zu einem anderen gezählt werden soll

Das folgende Beispiel macht genau das selbe wie die while-Schleife im obigen Beispiel

<code id="4c1f5cfdaa1e3">
int summe_zaehl()
{
int summe = 0;
for ( int zahl = 0; zahl <= 10; zahl ++ ) 
       {
        summe = summe + zahl;
       }
       return summe;
}
</code>

<run id="4d36e585e4327">
     System.out.println("Die Summe aller zahlen zwischen 0 und 10 lautet " + summe_zaehl() );
</run>


==Weblinks==
* http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java_/_Sentencia_for
* http://www.programmersbase.net/Content/Java/Content/Tutorial/Java/Loop.htm
* http://mezmedia.de/cj-share/03-02-26_for-schleife/index.html