/*
Prozedur void
Beim Aufruf der Prozedur beispiel wird
als erstes ermittelt, ob eine Bedingung,
hier !vornFrei() erfuellt ist.
Wenn dies der Fall sein sollte, dann
wird die Prozedur an der Stelle abgebrochen.
Wenn vornFrei() sein sollte, dann wird der
Reihe nach abgearbeitet,
sprich vor(), linksUm() usw.
*/
void beispiel() {
if(!vornFrei()) {
return;
}
vor();
linksUm();
}
/*
Funktion boolean
Sehr wichtig ist hier, dass die Funktionen
keine Seiteneffekte liefern.
Sprich, es soll nur wahr oder falsch geliefert
werden, ohne, dass an dem Programm etwas veraendert
wird
*/
boolean linksFrei() {
linksUm();
if(!vornFrei()) {
rechtsUm(); //Kein Seiteneffekt
return false;
} else {
rechtsUm(); //Kein Seiteneffekt
return true;
}
}
/*
Funktion integer
Einer Variable vom Typ int namens wievielStufen
wird eine int-Prozedur zugewiesen.
*/
int wievielStufen = zaehleStufen();
int zaehleStufen() {
int stufen = 0;
while(bedingung()) {
gehHoch();
/*
Var. stufen wird nach jedem Aufruf
der Prozedur gehHoch()
um eins erhoeht
*/
stufen++;
}
/*
Wenn die bedingung erfuellt ist, wird der
ermittelte Wert (eine Zahl) der Var. wievielStufen
zugewiesen
*/
return stufen;
}
/*
Wichtig ist dabei:
Ein return in void kann, muss aber nichts zurueckliefern.
Ein return des Typ n muss ein Wert von Typ n liefen.
Boolean muss wahr oder falsch, Int muss eine Zahl liefern.
*/