i

Zusammenhang zwischen Aufzählungen und Fallunterscheidungen

Zwischen der Verwendung von Aufzählungen und der Nutzung von Fallunterscheidungen lassen sich deutliche Zusammenhänge aufzeigen. Wenn wir uns diesen bewusst sind, vereinfacht es uns den Entwurf von vielen Funktionen.

Aufgabe 1. Fallunterscheidungen anhand der Signatur

Wenn wir Aufzählungen in der Signatur haben, hilft uns das nicht nur darin, unsinnige Daten abzufangen, sondern gibt uns schematische Informationen darüber, wie eine Fallunterscheidung aufgebaut sein sollte.

A1. Betrachte die folgenden Funktionssignaturen und bestimme für jede Funktion, wie viele Fälle in der Fallunterscheidung notwendig sind.


        ;a) Gibt die Durchschnittstemperatur eines Monats zurück
        (: durchschnittstemperatur2024 (monat -> real))

        ;b) Ordnet jedem Wochentag eine Nummer zu
        (: nummerDesWochentages (wochentag -> (integer-from-to 1 7)))

        ;c) Bestimmt, ob eine Klausur anhand der erreichten MSS-Punkte bestanden wurde
        (: klausurBestanden? (mss-punkte -> boolean))

        ;d) Beschreibt wie sich ein Auto im Straßenverkehr vor einer Ampel zu verhalten hat 
        (: verhaltenAutoBeiAmpel (ampelfarbe -> string))

        ;e) Liefert die Komplementäre Nukleinbase für DNA-Nukleinbasen (z.B. Thymin für Adenin) 
        (: komplementaereNukleinbase-DNA (base-DNA -> base-DNA))

        ;f) Wasser-Aggregatszustand bei einer übergeben Temperatur unter Normalbedingungen
        (: aggregatszustandWasserBeiTemp (integer -> aggregatszustand))
    

Die genutzten (Übergabe/-Rückgabe-)Datentypen geben häufig unsere Nutzung von Fallunterscheidungen vor.

  • Bei nicht-nummerischen Aufzählungen als Übergabe, muss meist für alle Aufzählungen ein einzelner Fall angelegt werden.
  • Bei numerischen Aufzählungen als Übergabe, benötigen wir häufig diskrete Zahlenbereiche, deren Anzahl durch den Rückgabedatentyp bestimmt wird.
(Es gibt natürlich auch Funktionen wo dies nicht zutrifft, es ist aber dennoch eine hilfreiche Faustregel)

Suche

v
100.137.3.2.2 Zusammenhang zwischen Aufzählungen und Fallunterscheidungen
Kopieren durch Anklicken

Rückmeldung geben