Funktionen


Nachdem nun verschiedene Datentypen bekannt sind, kann man den Begriff der booleschen Funktionen erweitern. Wichtig ist, dass der mit return zurückgegebene Wert zum Funktionstyp passt, der vor dem Funktionsnamen angegeben wird. Der Typ „void“ von Prozeduren bedeutet, dass diese keinen Rückgabewert liefern.

Die nachfolgende Funktion hat den Seiteneffekt, dass alle Körner nun im Maul des Hamsters sind. Sie liefert einen Integer-Wert zurück. Beim Funktionsaufruf wird die Funktion zunächst ausgewertet, dann wird mit dem Integer-Rückgabewert weitergearbeitet.

int anzahlKoernerAufKachel() {
    int anzahl = 0;
    while (kornDa()) {
        nimm();
        anzahl++;
    }
    return anzahl;
}

void main() {
    int n = anzahlKoernerAufKachel() / 2; // verteile die Hälfte
    while (n > 0) {
        vor();
        gib();
        n–;
    }
}