46.3 - Paketlieferungsrechner, Teil 3 — Erweiterung (JS-Lektionen — Argumente und return)
📘 Aufgabe: Parcel Delivery Calculator 3.0
Dies ist die Fortsetzung der vorherigen Aufgabe. Die Architektur bleibt dieselbe — dieselben
4 Funktionen (3 Rechner + 1 Hauptfunktion), die Funktionssignaturen ändern sich nicht.
🧩 Hauptbedingung
Ändere nur die Logik innerhalb von calculateWeightCost,
calculateDistanceCost und calculateUrgentSurcharge.
Die Hauptfunktion calculateTotalCost() — bleibt unverändert.
💰 Neue Tarife:
- 📦 Grundpreis — 15 $ (unverändert)
- ⚖️ Gewicht:
— bis 20 kg einschließlich — regulärer Tarif 3 $/kg
— mehr als 20 kg, aber nicht mehr als 50 kg — Tarif 1.5 $/kg (schweres Paket)
— mehr als 50 kg — Tarif 1 $/kg (sehr schwer, Großmenge)
- 📏 Strecke:
— bis 15 km einschließlich — regulärer Tarif 2 $/km
— mehr als 15 km, aber nicht mehr als 40 km — Tarif 1.5 $/km (Fernlieferung)
— mehr als 40 km — Tarif 1 $/km (sehr weite Fernlieferung)
- 🚀 Zuschlag für Dringlichkeit:
— nicht express — kein Zuschlag
— express und Betrag 60 $ oder weniger — +25%
— express und Betrag größer als 60 $, aber nicht mehr als 100 $ — +15%
— express und Betrag größer als 100 $ — +10%