i

Eine Fallunterscheidung

Eine Fallunterscheidung implementieren

Die folgende Preisgestaltung nutzt eine Fallunterscheidung, um den Preis nach dem Alter festzulegen.

Eintrittspreise:
Unter 14 Jahre ist der Eintritt frei.
Ab 14 Jahre kostet der Eintritt 5 €.

Zur Implementierung mit einer Funktion nutzt man einen if-then-else-Ausdruck.

module Eintrittspreis exposing (..)

eintrittspreis: Float -> Float
eintrittspreis alter =
    if alter < 14 then 0 else 5
> import Eintrittspreis exposing (..)
> eintrittspreis 15
...

Aufgabe 1

(a) Teste die Funktion in der REPL mit weiteren Funktionsaufrufen.

(b) Erkläre den Aufbau des Ausdrucks if alter < 14 then 0 else 5.

Aufgabe 2

Die Preisgestaltung wurde abgeändert und wird jetzt mit dieser Funktion beschrieben:

module Eintrittspreis exposing (..)

eintrittspreis: Float -> Float -> Float
eintrittspreis alter stunden =
    (if alter < 14 then 0 else 3) + stunden
> import Eintrittspreis exposing (..)
> eintrittspreis 15 2
...

(a) Teste die Funktion in der REPL mit geeigneten Funktionsaufrufen. Achte darauf, dass jetzt 2 Parameter übergeben werden müssen.

(b) Der Aushang zu den Eintrittspreisen muss abgeändert werden. Mache einen Vorschlag.

Aufgabe 3

Die Preisgestaltung in Aufgabe 2 wurde heftig kritisiert. Sie wurde daher nochmal abgeändert:

module Eintrittspreis exposing (..)

eintrittspreis: Float -> Float -> Float
eintrittspreis alter stunden =
    (if alter < 14 then 0 else 5) + (if stunden > 3 then (stunden-3) else 0)
> import Eintrittspreis exposing (..)
> eintrittspreis 6 3
...

(a) Teste die Funktion in der REPL mit geeigneten Funktionsaufrufen.

(b) Erstelle einen Aushang zu den neuen Eintrittspreisen.

(c) Vergleiche die Funktionsdefinition oben mit dieser veränderten Version.

eintrittspreis alter stunden =
    let
        grundpreis = (if alter < 14 then 0 else 5)
        zuzahlung = (if stunden > 3 then (stunden-3) else 0)
    in
    grundpreis + zuzahlung

Suche

v
110.2.6.1.1.1
inf-schule.de/fp_elm_alteversion/elm_programme/fallunterscheidungen/eintrittspreis/lernstrecke/version1
inf-schule.de/110.2.6.1.1.1
inf-schule.de/@/page/eWeHZK5dTapYkhrE

Rückmeldung geben