Programmiertechnik: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 1: | Zeile 1: | ||
Auf dieser Seite werden anhand von Kara grundlegende Programmiertechniken vorgestellt. | |||
=Methoden, die etwas tun, bis ein Ziel erreicht wird= | |||
Solche Methoden brauchen eine '''Solange'''-Schleife. In Java kann man das mit <code>while</code> realisieren. | |||
In der Regel haben diese Methoden folgenden Aufbau: | |||
* Eine Schleife, die so lange läuft, bis das "Ziel" erreicht ist<br>In der Schleife passiert folgendes: | |||
** Es wird "nachgedacht", was als nächster Schritt zu tun ist. | |||
** '''Nach''' dem Nachdenken: Der Schritt wird ausgeführt. | |||
'''Wichtig''' ist dabei, dass '''in jedem Schleifendurchlauf genau ein Schritt''' ausgeführt wird, und das erst nach dem "Nachdenken"! | |||
Dadurch wird die Programmierung viel einfacher! | |||
==Beispiel== | |||
Die folgende Methode lässt Kara rund um einen Wald gehen, bis sie auf einem Blatt steht: | |||
{| class="wikitable" | |||
! Programmbeschreibung !! Java Quelltext | |||
|- | |||
| | |||
'''Methode rundUmDenWald()''' | |||
⌈¯¯¯¯¯¯ | |||
| Solange Kara nicht auf einem Blatt steht | |||
| ⌈¯¯¯¯¯¯ | |||
| | wenn kein Baum rechts ist | |||
| | ⌈¯¯¯¯¯¯ | |||
| | | drehe dich nach rechts | |||
| | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | |||
| | sonst | |||
| | |¯¯¯¯¯¯ | |||
| | | wenn ein Baum vorne ist | |||
| | | ⌈¯¯¯¯¯¯ | |||
| | | | drehe dich nach links | |||
| | | | wenn ein Baum vorne ist | |||
| | | | ⌈¯¯¯¯¯¯ | |||
| | | | | drehe dich nach links | |||
| | | | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | |||
| | | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | |||
| | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | |||
| | gehe einen Schritt | |||
| ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | |||
⌊ ̶ ̶ ̶ ̶ ̶ ̶ | |||
|| | |||
public void rundUmDenWald() | |||
{ | |||
while(!kara.onLeaf()) | |||
{ | |||
// "nachdenken!" | |||
if(!kara.treeRight()) | |||
{ | |||
kara.turnRight(); | |||
} | |||
else | |||
{ | |||
if(kara.treeFront()) | |||
{ | |||
kara.turnLeft(); | |||
if(kara.treeFront()) | |||
{ | |||
kara.turnLeft(); | |||
} | |||
} | |||
} | |||
// jetzt den Schritt ausführen! | |||
kara.move(); | |||
} | |||
} | |||
|} | |||
=Methoden, die etwas berechnen= | =Methoden, die etwas berechnen= |
Version vom 2. Januar 2016, 18:31 Uhr
Auf dieser Seite werden anhand von Kara grundlegende Programmiertechniken vorgestellt.
Methoden, die etwas tun, bis ein Ziel erreicht wird
Solche Methoden brauchen eine Solange-Schleife. In Java kann man das mit while
realisieren.
In der Regel haben diese Methoden folgenden Aufbau:
- Eine Schleife, die so lange läuft, bis das "Ziel" erreicht ist
In der Schleife passiert folgendes:- Es wird "nachgedacht", was als nächster Schritt zu tun ist.
- Nach dem Nachdenken: Der Schritt wird ausgeführt.
Wichtig ist dabei, dass in jedem Schleifendurchlauf genau ein Schritt ausgeführt wird, und das erst nach dem "Nachdenken"!
Dadurch wird die Programmierung viel einfacher!
Beispiel
Die folgende Methode lässt Kara rund um einen Wald gehen, bis sie auf einem Blatt steht:
Programmbeschreibung | Java Quelltext |
---|---|
Methode rundUmDenWald() ⌈¯¯¯¯¯¯ | Solange Kara nicht auf einem Blatt steht | ⌈¯¯¯¯¯¯ | | wenn kein Baum rechts ist | | ⌈¯¯¯¯¯¯ | | | drehe dich nach rechts | | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | | sonst | | |¯¯¯¯¯¯ | | | wenn ein Baum vorne ist | | | ⌈¯¯¯¯¯¯ | | | | drehe dich nach links | | | | wenn ein Baum vorne ist | | | | ⌈¯¯¯¯¯¯ | | | | | drehe dich nach links | | | | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | | | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | | gehe einen Schritt | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ ⌊ ̶ ̶ ̶ ̶ ̶ ̶ |
public void rundUmDenWald() { while(!kara.onLeaf()) { // "nachdenken!" if(!kara.treeRight()) { kara.turnRight(); } else { if(kara.treeFront()) { kara.turnLeft(); if(kara.treeFront()) { kara.turnLeft(); } } } // jetzt den Schritt ausführen! kara.move(); } } |
Methoden, die etwas berechnen
Methoden, die etwas berechnen, haben in der Regel folgenden Aufbau:
- Zuerst wird eine Variable
ergebnis
deklariert. - Dann wird mit einer Schleife das zu berechnende Feld (oder Blätterspur o.ä.) durchlaufen.
In der Schleife passiert folgendes:- Die Berechnung wird aktualisiert
- Es wird zum nächsten Schritt weitergegangen.
- Wenn die Schleife fertig ist, dann wird
ergebnis
zurückgegeben.
Beispiel
Die folgende Methode lässt Kara so lange geradeaus laufen, wie Kara auf einem Blatt steht.
Dabei werden die Blätter gezählt und am Ende der Methode zurückgegeben.
Programmbeschreibung | Java Quelltext |
---|---|
Methode zaehleBlaetter(): gibt eine Zahl zurück ⌈¯¯¯¯¯¯ | Setze ergebnis auf 0 | Solange Kara auf einem Blatt steht | ⌈¯¯¯¯¯¯ | | erhöhe ergebnis um 1 | | gehe einen Schritt | ⌊ ̶ ̶ ̶ ̶ ̶ ̶ | gib ergebnis zurück; ⌊ ̶ ̶ ̶ ̶ ̶ ̶ |
public int zaehleBlaetter() { int ergebnis = 0; while(kara.onLeaf()) { ergebnis = ergebnis + 1; kara.move(); } return ergebnis; } |