i

Fachkonzept - Musterabgleich

Ein Musterabgleich verwenden

Auch in dieser Situation wird der Eintrittspreis mit einer Fallunterscheidung beschrieben. Die Fallunterscheidung wird hier mit der Vorgabe von Werten für den Wochentag realisiert.

Eintrittspreis:
MO, DI, MI: 4 €
DO, FR    : 5 €
SA, SO    : 6 €

Eine solche Fallunterscheidung könnte man mit einem if-Ausdruck implementieren.

eintrittspreis tag =
    if (tag == "MO") then
        4
    else
        if (tag == "DI") then
            4
        else
            ...

Günstiger ist es, wenn man einen einem case-Ausdruck nutzt.

eintrittspreis tag =
    case tag of
        "MO" -> 4
        "DI" -> 4
        "MI" -> 4
        "DO" -> 5
        "FR" -> 5
        "SA" -> 6
        "SO" -> 6
        _ -> 0

Mit einem case-Ausdruck kann man eine Fallunterscheidung mit einem Musterabgleich bilden. Ein case-Ausdruck gibt einen Ausdruck für das Muster vor und beschreibt dann die unterschiedlichen Fälle mit Werten, die der Musterausdruck annehmen kann. Für jeden vorgegebenen Wert wird die Datenverarbeitung mit einen hierfür vorgesehenen Ausdruck beschrieben. Beachte, dass immer alle möglichen Werte des Musterausdrucks abgedeckt werden müssen. Das realisiert man meist mit Hilfe des _, das für alle anderen Werte steht.

Die Abbildung verdeutlicht diesen Aufbau eines case-Ausdrucks.

case-Ausdruck[1]

Eine Fallunterscheidung kann man auch mit einem Musterabgleich (man sagt auch Pattern-Matching) realisieren. Die verschiedenen Fälle beschreibt man durch Werte, die der Ausdruck für das Muster annehmen kann.

Quellen

Suche

v
100.110.2.6.5
inf-schule.de/entwuerfe/fp_elm_alteversion/elm_programme/fallunterscheidungen/konzept_musterabgleich
inf-schule.de/100.110.2.6.5
inf-schule.de/@/page/oLHRMXI0AMp8xaXn

Rückmeldung geben