MINT lernen

Funktionen

Zwei Textaufgaben mit Hinweisen und Erwartungshorizont — Temperaturen umrechnen und eine Punkteregel als Funktion bauen.

Dein Fortschritt:
0 / 0 Aufgaben
1

Celsius in Fahrenheit

AFB I–II

Für eine Wetter-App mit Nutzern aus den USA schreibt Jana:

function fahrenheit(c) {
  return c * 1.8 + 32;
}
let heute = fahrenheit(20);
console.log(heute);
  1. Gib Name, Parameter und Rückgabewert der Funktion an.
  2. Berechne die Rückgabewerte für 20 °C und für −10 °C.
  3. Erläutere, warum Jana return und nicht console.log in der Funktion verwendet, wenn sie später prüfen will, ob es wärmer als 70 °F ist.

Hinweise

Hinweis zu Aufgabe a)
Der Parameter steht in der Definition in Klammern.
Hinweis zu Aufgabe b)
Punkt vor Strich.
Hinweis zu Aufgabe c)
Mit einem angezeigten Wert kann ein Programm nicht weiterrechnen.

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

Name fahrenheit, Parameter c, Rückgabewert: die Temperatur in °F, also c * 1.8 + 32.

Erwartungshorizont zu Aufgabe b)

20 · 1,8 + 32 = 68 °F; −10 · 1,8 + 32 = −18 + 32 = 14 °F.

Erwartungshorizont zu Aufgabe c)

Mit return „ist“ der Aufruf eine Zahl, die man speichern und vergleichen kann: if (fahrenheit(20) > 70). Mit console.log stünde der Wert nur in der Konsole; der Aufruf lieferte undefined, und der Vergleich wäre immer false.

2

Punkte im Reaktionsspiel

AFB II–III

In einem Reaktionsspiel gibt es 10 Punkte pro Treffer. Wer in weniger als 60 Sekunden fertig ist, bekommt 50 Bonuspunkte. Lena schreibt:

function punkte(treffer, zeit) {
  let p = treffer * 10;
  if (zeit < 60) {
    p = p + 50;
  }
  console.log(p);
}
let gesamt = punkte(8, 55) + punkte(5, 70);
  1. Bestimme die Punkte für die beiden Runden (8 Treffer in 55 s, 5 Treffer in 70 s).
  2. Überprüfe, welchen Wert gesamt bekommt, und erkläre den Fehler.
  3. Entwickle eine verbesserte Funktion und einen Aufruf, der die Gesamtpunkte beider Runden ausgibt.

Hinweise

Hinweis zu Aufgabe a)
Rechne jede Runde nach der Regel aus.
Hinweis zu Aufgabe b)
Was liefert ein Aufruf ohne return?
Hinweis zu Aufgabe c)
Ersetze die Ausgabe in der Funktion.

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

Runde 1: 8 · 10 + 50 = 130. Runde 2: 5 · 10 = 50 (kein Bonus, 70 ≥ 60).

Erwartungshorizont zu Aufgabe b)

Die Funktion gibt 130 und 50 nur in der Konsole aus, liefert aber nichts zurück. Beide Aufrufe haben den Wert undefined; undefined + undefined ergibt NaN.

Erwartungshorizont zu Aufgabe c)

In der Funktion return p; statt console.log(p);. Dann: let gesamt = punkte(8, 55) + punkte(5, 70); und console.log(gesamt); → 180.