8.581
Bearbeitungen
Thi (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Um eine rekursive Methode zu schreiben müssen die drei Bestandteile der | Um eine rekursive Methode zu schreiben müssen die drei Bestandteile der {{Pfad|Definition}} implementiert werden. | ||
{{ | {{Fenster| | ||
Hast du die drei Bestandteile noch vor Augen? | Hast du die drei Bestandteile noch vor Augen? | ||
|Farbe={{Farbe:Info}}}} | |||
{{ | |||
Zeile 10: | Zeile 9: | ||
Auf einem Schachbrett kann man entlang der Kanten Quadrate zeichnen. Wie viele Quadrate aller Längen passen denn auf ein Schachbrett bzw. Gitter? | Auf einem Schachbrett kann man entlang der Kanten Quadrate zeichnen. Wie viele Quadrate aller Längen passen denn auf ein Schachbrett bzw. Gitter? | ||
Um dieses Problem zu lösen, solltest du zunächst das Problem für kleine Gitter lösen um dann ein allgemeines Muster für große Gitter zu bestimmen. | Um dieses Problem zu lösen, solltest du zunächst das Problem für kleine Gitter lösen, um dann ein allgemeines Muster für große Gitter zu bestimmen. | ||
{{Aufgabe:Start}} | {{Aufgabe:Start}} | ||
Bestimme die Anzahl der Kästchen in einem | Bestimme die Anzahl der Kästchen in einem | ||
* 2x2-Gitter, | |||
* 3x3-Gitter, | |||
* 4x4-Gitter. | |||
{{Aufgabe:End}}{{Lösung:Start|Lösung 2x2 und 3x3}} | |||
{{ | * 2x2-Gitter: vier 1x1 Kästchen und ein 2x2 Kästchen . | ||
* 3x3-Gitter: neun 1x1 Kästchen und vier 2x2 Kästchen und ein 3x3 Kästchen. | |||
Die Zahlen 1,4,9,16, usw. werden als Quadratzahlen bezeichnet. | Die Zahlen 1, 4, 9, 16, usw. werden als ''Quadratzahlen'' bezeichnet. | ||
{{ | {{Lösung:End}}{{Lösung:Start|Lösung 4x4}} | ||
Für das 4x4-Gitter gibt es sechzehn 1x1 Kästchen, neun 2x2 Kästchen, vier 3x3 Kästchen und ein 4x4 Kästchen. Insgesamt also <math>1+4+9+16 = 30</math>. | |||
{{ | {{Lösung:End}} | ||
Für das 4x4-Gitter gibt es | |||
{{ | |||
Natürlich lässt sich auch eine Methode für die Anzahl der Kästchen programmieren. Die Beobachtungen aus den Beispielen für ein 2x2, 3x3 und 4x4-Gitter können bei der Formulierung einer rekursiven Formel helfen. | Natürlich lässt sich auch eine Methode für die Anzahl der Kästchen programmieren. Die Beobachtungen aus den Beispielen für ein 2x2, 3x3 und 4x4-Gitter können bei der Formulierung einer rekursiven Formel helfen. | ||
Aber dieses Problem lässt sich auch sehr gut iterativ lösen. | Aber dieses Problem lässt sich auch sehr gut iterativ lösen. | ||
{{Aufgabe:Start}} | |||
{{ | Implementiere eine rekursive und eine iterative Lösung für das Kästchen-Problem. | ||
<syntaxhighlight lang="java"> | {{Aufgabe:End}} | ||
public int k_rek(int n){ | {{Lösung:Start|Rekursive Lösung}} | ||
<syntaxhighlight lang="java" line="1"> | |||
public int k_rek(int n) { | |||
if(n > 1) { | |||
return n*n+k_rek(n-1); | |||
} else { | |||
return 1; | |||
} | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{ | {{Lösung:End}} | ||
{{Lösung:Start|Iterative Lösung}} | |||
<syntaxhighlight lang="java" line="1"> | |||
{{ | public int k_it(n) { | ||
<syntaxhighlight lang="java"> | int sum = 0; | ||
public int k_it(n){ | for(int i = 1; i<n+1 ;i++) { | ||
sum = sum + i*i; | |||
} | |||
return sum; | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{ | {{Lösung:End}} | ||
== Suche in einem Array == | == Suche in einem Array == |
Bearbeitungen