MINT üben

Verzweigungen und Schleifen

Zwei Textaufgaben mit Hinweisen und Erwartungshorizont zu if, while und for in Java.

Dein Fortschritt:
0 / 0 Aufgaben
1

Eintritt ins Freibad

AFB I–II

Das Freibad möchte seine Kasse mit einem Java-Programm betreiben. Kinder unter 6 Jahren zahlen nichts, Kinder und Jugendliche bis einschließlich 17 Jahre zahlen 2,50 €, alle anderen 4,00 €. Wer einen Ferienpass hat, bekommt 1,00 € Rabatt – aber nur, wenn überhaupt etwas zu zahlen ist.

Material: Ausschnitt aus der Kasse
int alter = 15;
boolean ferienpass = true;
double preis;
if (alter < 6) {
    preis = 0.0;
} else if (alter <= 17) {
    preis = 2.5;
} else {
    preis = 4.0;
}
if (ferienpass && preis > 0) {
    preis = preis - 1.0;
}
System.out.println("Eintritt: " + preis + " Euro");
Die Werte von alter und ferienpass werden an der Kasse eingegeben.
  1. Beschreibe den Ablauf des Programms für die angegebenen Werte und gib die Ausgabe an.
  2. Erstelle eine Tabelle mit den Ausgaben für die Alter 5, 6, 17 und 18, jeweils mit und ohne Ferienpass.
  3. Mittwochs ist Schülertag. Ein Mitschüler schreibt dafür if (tag == "Mittwoch"). Begründe, warum Texte in Java anders verglichen werden sollten, und gib die richtige Bedingung an.

Hinweise

Hinweis zu Aufgabe a)
Prüfe die Bedingungen der Reihe nach. Sobald eine Bedingung einer if-else if-Kette zutrifft, werden die übrigen übersprungen. Das zweite if steht für sich allein.
Hinweis zu Aufgabe b)
Die Grenzen sind die spannenden Fälle: Ist 6 „kleiner als 6“? Ist 17 „kleiner oder gleich 17“?
Hinweis zu Aufgabe c)
Ein String ist ein Objekt. Was vergleicht == bei Objekten – den Inhalt oder etwas anderes?