Lernpfad:Rekursion in Java/Rekursion bei Schachproblemen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Thi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 4: | Zeile 4: | ||
Man versucht 8 Damen auf dem Schachbrett zu positionieren. Dabei müssen die Damen so aufgestellt werden, | Man versucht 8 Damen auf dem Schachbrett zu positionieren. Dabei müssen die Damen so aufgestellt werden, | ||
dass sich keine Damen gegenseitig schlagen. | dass sich keine Damen gegenseitig schlagen. | ||
{{Aufgabe:Start}} | |||
Versuche auf einem 5x5 Feld 5 Damen aufzustellen. | |||
{{Aufgabe:End}} | |||
Ein rekursiver Algorithmus könnte wie folgt aussehen: | Ein rekursiver Algorithmus könnte wie folgt aussehen: | ||
<syntaxhighlight > | <syntaxhighlight > | ||
dame(t, zeilen) | dame(t, zeilen) | ||
Falls t < 8 ist | Falls t < 8 ist DANN | ||
Wiederhole für alle Positionen (starte bei 0) | |||
aktuelle Reihe gleich nächste Position | |||
Falls die aktuelle Reihe noch frei ist DANN | |||
setze die Dame auf die freie Reihe | |||
Falls die Dame mit keiner anderen kollidiert DANN | |||
dame(t+1, zeilen) | |||
Entferne die aktuelle Dame aus der Reihe | |||
SONST | SONST | ||
speicher die Lösung | speicher die Lösung | ||
</syntaxhighlight > | </syntaxhighlight > | ||
<p5js > | |||
</p5js> | |||
# Springerproblem | # Springerproblem | ||
## https://de.wikipedia.org/wiki/Springerproblem | ## https://de.wikipedia.org/wiki/Springerproblem |
Version vom 8. Januar 2019, 22:43 Uhr
Im Kontext des Schachspiels gibt es zwei sehr bekannte Problemstellungen. An dieser Stelle sollen einfach nur ein paar Links für interessierte hinzugefügt werden:
- Dameproblem
Man versucht 8 Damen auf dem Schachbrett zu positionieren. Dabei müssen die Damen so aufgestellt werden, dass sich keine Damen gegenseitig schlagen.
Arbeitsauftrag
Versuche auf einem 5x5 Feld 5 Damen aufzustellen.
Ein rekursiver Algorithmus könnte wie folgt aussehen:
dame(t, zeilen)
Falls t < 8 ist DANN
Wiederhole für alle Positionen (starte bei 0)
aktuelle Reihe gleich nächste Position
Falls die aktuelle Reihe noch frei ist DANN
setze die Dame auf die freie Reihe
Falls die Dame mit keiner anderen kollidiert DANN
dame(t+1, zeilen)
Entferne die aktuelle Dame aus der Reihe
SONST
speicher die Lösung
- Springerproblem