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(10) == 55) && (summe(100) == 5050));
</check>
<run id="4d36e585e4327">
System.out.println("Die Summe aller zahlen zwischen 0 und 10 lautet " + summe_vor(10) );
</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