MINT lernen

Variablen und Datentypen

Zwei Textaufgaben mit Hinweisen und Erwartungshorizont — eine Kassenrechnung verfolgen und einen Altersrechner reparieren.

Dein Fortschritt:
0 / 0 Aufgaben
1

Pausenverkauf

AFB I–II

Die SV verkauft Brezeln. Weil Kommazahlen beim Rechnen ungenau werden können, rechnet das Programm in Cent:

let preis = 120;
let anzahl = 3;
let gesamt = preis * anzahl;
const RABATT = 50;
gesamt = gesamt - RABATT;
console.log("Zu zahlen: " + gesamt + " Cent");
  1. Nenne alle Variablen und Konstanten mit ihrem Datentyp.
  2. Erstelle eine Tabelle mit dem Wert von gesamt nach jeder Zeile und gib die Ausgabe an.
  3. Begründe, warum RABATT mit const, gesamt aber mit let angelegt wird.

Hinweise

Hinweis zu Aufgabe a)
Alle Werte hier sind Zahlen.
Hinweis zu Aufgabe b)
gesamt gibt es erst ab Zeile 3.
Hinweis zu Aufgabe c)
Welcher Wert ändert sich im Programm?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

preis, anzahl, gesamt (Variablen) und RABATT (Konstante), alle vom Typ number.

Erwartungshorizont zu Aufgabe b)

Zeile 1–2: noch keine Variable gesamt; Zeile 3: 360; Zeile 4: 360; Zeile 5: 310. Ausgabe: Zu zahlen: 310 Cent.

Erwartungshorizont zu Aufgabe c)

Der Rabatt ist fest und darf sich nicht versehentlich ändern — const verhindert eine neue Zuweisung. gesamt bekommt in Zeile 5 einen neuen Wert, braucht also let.

2

Der Altersrechner

AFB II–III

Ole schreibt einen Altersrechner. Das Geburtsjahr kommt später aus einem Eingabefeld und ist deshalb Text:

let geburtsjahr = "2011";
let alter = 2026 - geburtsjahr;
let naechstesJahr = alter + "1";
console.log(alter);
console.log(naechstesJahr);
  1. Ermittle Wert und Datentyp von alter und naechstesJahr und gib die Ausgaben an.
  2. Erkläre, warum Zeile 2 richtig rechnet, Zeile 3 aber nicht.
  3. Entwickle eine verbesserte Fassung, die zuerst in eine Zahl umwandelt und für das nächste Jahr richtig rechnet.

Hinweise

Hinweis zu Aufgabe a)
Welche Operatoren wandeln Text automatisch in Zahlen um?
Hinweis zu Aufgabe b)
Beachte die Anführungszeichen um die 1.
Hinweis zu Aufgabe c)
Number(…) gleich in Zeile 1 oder 2 einsetzen.

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

alter = 15 (number); naechstesJahr = "151" (string). Ausgaben: 15 und 151.

Erwartungshorizont zu Aufgabe b)

- kann nur rechnen und wandelt "2011" deshalb in eine Zahl um. In Zeile 3 steht + mit dem Text "1" — dann wird verkettet: 15 wird zu „15“, angehängt „1“.

Erwartungshorizont zu Aufgabe c)

let geburtsjahr = Number("2011"); let alter = 2026 - geburtsjahr; let naechstesJahr = alter + 1; — ohne Anführungszeichen um die 1. Ausgaben: 15 und 16. Sicherer, weil man sich nicht darauf verlässt, welcher Operator umwandelt.