MINT üben

Lokale und globale Variablen

Zwei Abituraufgaben zu lokalen und globalen Variablen — mit Hinweisen und Erwartungshorizont.

Dein Fortschritt:
0 / 0 Aufgaben
1

Die Stadtbücherei

AFB I–II

Eine Stadtbücherei zählt mit einem kleinen Programm, wie viele Medien eine Familie gerade ausgeliehen hat und wie viel Säumnisgebühr insgesamt angefallen ist. Pro Medium und Tag Verspätung werden 10 Cent fällig.

Java
public class Ausleihe {
    int ausgeliehen = 0;
    int gebuehren = 0;        // in Cent

    void ausleihen(int anzahl) {
        ausgeliehen = ausgeliehen + anzahl;
    }

    int zurueckgeben(int anzahl, int tageZuSpaet) {
        int gebuehr = anzahl * tageZuSpaet * 10;
        ausgeliehen = ausgeliehen - anzahl;
        gebuehren = gebuehren + gebuehr;
        return gebuehr;
    }
}
  1. Nennen Sie alle Variablen der Klasse und geben Sie jeweils an, ob es sich um ein Attribut (global), eine lokale Variable oder einen Parameter handelt.
  2. Ermitteln Sie die Werte der Attribute und die Rückgabewerte nach der Aufruffolge ausleihen(4), zurueckgeben(2, 3), ausleihen(1), zurueckgeben(3, 0).
  3. Beschreiben Sie Gültigkeitsbereich und Lebensdauer der Variable gebuehr. Warum wird die Anweisung System.out.println(gebuehr); in der Operation ausleihen nicht übersetzt?

Hinweise

Hinweis zu Aufgabe a)
Achte darauf, wo jede Variable deklariert ist: in der Klasse, im Kopf oder im Rumpf.
Hinweis zu Aufgabe b)
Lege eine Tabelle an: eine Zeile je Aufruf, eine Spalte je Attribut und eine für die Rückgabe.
Hinweis zu Aufgabe c)
Wann entsteht gebuehr, wann verschwindet sie — und in welchem Block ist sie deklariert?