i

Geschachtelte Fallunterscheidungen

Eine kompliziertere Preisgestaltung betrachten

Die Gestaltung der Eintrittspreise wird weiter verfeinert.

Eintrittspreise:
Grundpreis (bis 3 Stunden):
Kinder unter 10           : 0 €
Jugendliche von 10 bis 18 : 3 €
Erwachsene über 18        : 5 €
Zuzahlung (ab 3 Stunden):
Jede weitere angefangene Stunde kostet 
für Jugendliche und Erwachsene 1 €.

Aufgabe 1

Betrachte zunächst nur die Berechnung des Grundpreises. Die Funktion zur Implementierung des Grundpreises enthält noch Lücken. Ergänze die Funktionsdefinition und teste sie in der REPL - und zwar so, dass alle möglichen Fälle abgedeckt sind.

module Eintrittspreis exposing (..)

grundpreis: Float -> Float
grundpreis alter = 
    if alter < 10 then ... else if alter <= 18 then ... else ...
> import Eintrittspreis exposing (..)
> grundpreis 6
...

Aufgabe 2

(a) Die Darstellung der Funktionsdefinition lässt sich so abändern. Warum ist diese Darstellung für den Programmierer günstig?

grundpreis alter =
    if alter < 10 then 
        ... 
    else 
        if alter <= 18 then 
            ... 
        else 
            ...

(b) Teste auch diese Funktionsdefinition in der REPL. Achte genau auf die Einrückungen.

(c) Die Funktionsdefinitionen zur Funktion grundpreis verwenden geschachteltete Fallunterscheidungen. Erläutere die Schachtelung.

Aufgabe 3

Die Implementierung des neuen Preismodells ist noch nicht fertig. Ergänze die fehlenden Funktionsdefinitionen.

module Eintrittspreis exposing (..)

grundpreis: Float -> Float
grundpreis alter =
    if alter < 10 then 
        ... 
    else 
        if alter <= 18 then 
            ... 
        else 
            ...

zuzahlung: ...
zuzahlung alter stunden =
    ...

eintrittspreis: ...
eintrittspreis alter stunden =
    ...

Suche

v
100.110.2.6.1.1.2
inf-schule.de/entwuerfe/fp_elm_alteversion/elm_programme/fallunterscheidungen/eintrittspreis/lernstrecke/version2
inf-schule.de/100.110.2.6.1.1.2
inf-schule.de/@/page/jz6gWexX2Ix1csej

Rückmeldung geben