MINT lernen

Vergleiche und Verzweigungen

Zwei Textaufgaben mit Hinweisen und Erwartungshorizont — eine Rabattaktion testen und eine Einlasskontrolle reparieren.

Dein Fortschritt:
0 / 0 Aufgaben
1

Rabattaktion im Schulshop

AFB I–II

Der Schulshop gibt ab 50 € Einkaufswert 5 % und ab 100 € 15 % Rabatt:

let rabatt;
if (wert >= 100) {
  rabatt = 15;
} else if (wert >= 50) {
  rabatt = 5;
} else {
  rabatt = 0;
}
console.log("Rabatt: " + rabatt + " %");
  1. Beschreibe den Ablauf des Programms für wert = 75.
  2. Erstelle eine Tabelle mit der Ausgabe für die Einkaufswerte 30 €, 50 €, 99 € und 100 €.
  3. Begründe, warum die Bedingung wert >= 100 vor wert >= 50 stehen muss.

Hinweise

Hinweis zu Aufgabe a)
Welche Bedingung wird zuerst geprüft, welche danach?
Hinweis zu Aufgabe b)
An den Grenzen 50 und 100 genau hinsehen.
Hinweis zu Aufgabe c)
Was würde bei 120 € passieren, wenn die Reihenfolge vertauscht wäre?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

75 >= 100 ist false, also wird else if geprüft: 75 >= 50 ist true → rabatt = 5. else wird übersprungen. Ausgabe: Rabatt: 5 %.

Erwartungshorizont zu Aufgabe b)

30 € → 0 % · 50 € → 5 % · 99 € → 5 % · 100 € → 15 %.

Erwartungshorizont zu Aufgabe c)

Jeder Wert ab 100 ist auch ≥ 50. Stünde wert >= 50 oben, wäre sie für 120 € schon wahr, und der 15-%-Zweig würde nie erreicht. Die strengere Bedingung muss zuerst geprüft werden.

2

Einlass ins Kino

AFB II–III

Ein Film ist ab 12 Jahren freigegeben. Kinder ab 6 Jahren dürfen in Begleitung der Eltern hinein. Mia programmiert die Kasse:

if (alter >= 6) {
  console.log("Einlass nur mit Eltern");
} else if (alter >= 12) {
  console.log("Einlass");
} else {
  console.log("kein Einlass");
}
  1. Überprüfe Mias Programm mit alter = 14 und beschreibe den Fehler.
  2. Stelle eine einzige Bedingung mit && und || auf, die genau dann true ist, wenn jemand hinein darf (Variablen alter und mitEltern).
  3. Entwickle eine korrigierte if-else-Kette, die für jedes Alter die passende Meldung ausgibt.

Hinweise

Hinweis zu Aufgabe a)
Welche Bedingung ist für 14 zuerst wahr?
Hinweis zu Aufgabe b)
Entweder alt genug — oder mindestens 6 und mit Eltern.
Hinweis zu Aufgabe c)
Strengste Bedingung zuerst.

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

14 >= 6 ist schon true → Ausgabe „Einlass nur mit Eltern“, obwohl 14-Jährige allein hinein dürfen. Der Zweig alter >= 12 wird nie erreicht, weil jeder Wert ab 12 schon die erste Bedingung erfüllt.

Erwartungshorizont zu Aufgabe b)

alter >= 12 || (alter >= 6 && mitEltern)

Erwartungshorizont zu Aufgabe c)

if (alter >= 12) { console.log("Einlass"); } else if (alter >= 6) { console.log("Einlass nur mit Eltern"); } else { console.log("kein Einlass"); }