46.2 - Paketlieferungsrechner, Teil 2 — Erweiterung (JS-Lektionen — Argumente und return)
📘 Aufgabe: Parcel Delivery Calculator 2.0
Dies ist die Fortsetzung der vorherigen Aufgabe. Die Architektur bleibt dieselbe — dieselben
4 Funktionen (3 Rechner + 1 Hauptfunktion), die Funktionssignaturen ändern sich nicht.
Es ändert sich nur, was innerhalb der drei Rechner-Funktionen passiert.
🧩 Hauptbedingung
Ändere nur die Logik innerhalb von calculateWeightCost,
calculateDistanceCost und calculateUrgentSurcharge.
Die Hauptfunktion calculateTotalCost() — bleibt unverändert.
💰 Neue Tarife (als Konstanten im Code hinterlegt):
- 📦 Grundpreis (base fee) — 15 $ (unverändert)
- ⚖️ Gewicht: ist das Paket schwerer als 10 kg — Tarif 2 $/kg (Rabatt für schwere Pakete),
bei 10 kg oder weniger — regulärer Tarif 3 $/kg
- 📏 Strecke: ist die Lieferung weiter als 15 km — Tarif 1.5 $/km (Rabatt für weite Strecken),
bei 15 km oder weniger — regulärer Tarif 2 $/km
- 🚀 Zuschlag für Dringlichkeit: ist es express und der Betrag größer als 60 $ — +15% (für größere
Bestellungen etwas weniger); ist es express und der Betrag 60 $ oder weniger — +25%; nicht express — kein Zuschlag