i

Übungen: Fallunterscheidungen


Aufgabe 1: Notenvergabe

Bestehende Datei - fallunterscheidungen.rkt

Für eine Klausur soll anhand der erreichten Punktzahl (0 bis 100) automatisch eine Note vergeben werden. Die Aufteilung der Noten kannst du der Tabelle entnehmen.

Note Punktebereich
1 ab 95 Punkten
2 ab 80 Punkten
3 ab 60 Punkten
4 ab 45 Punkten
5 ab 30 Punkten
6 unter 30 Punkten

(a) Implementiere eine Funktion, die für die erreichte Punkteanzahl die korrekte Note zurückliefert.


Aufgabe 2: Korrektur einer inkorrekten allgemeinen Fallunterscheidung

Bestehende Datei - fallunterscheidungen.rkt

Ein Student hat in einer Prüfung zu Racket die folgende Funktion geschrieben:

;Funktion, die für 0 bis 3 das Zahlwort der nächstgrößeren Zahl liefert, sonst “fünf”
(: naechsteZahl (natural -> string))
(check-expect (naechsteZahl 0) "eins")
(check-expect (naechsteZahl 3) "vier")
(check-expect (naechsteZahl 7) "fünf")
(define naechsteZahl
  (lambda (zahl)
    (cond
      ([< zahl 4] "vier")
      ([< zahl 3] "drei")
      ([< zahl 2] "zwei")
      ([< zahl 1] "eins")
      (else "fünf")
     )
)  ) 
 
Allerdings schlägt einer der drei Tests fehl.

(a) Analysiere die Funktion und erkläre, welchen Fehler der Student gemacht hat.

(b) Korrigiere die Funktion.


Aufgabe 3: Zündtemperatur

Bestehende Datei - fallunterscheidungen.rkt

Unter der Zündtemperatur eines Stoffes versteht man die Temperatur, bei der sich ein Stoff von selbst entzündet. Das heißt, ohne dass eine äußere Einwirkung wie ein Streichholz oder Funkenflug erforderlich ist. Die Zündtemperatur einiger Materialien kannst du der Tabelle entnehmen.

Material Zündtemperatur in °C
Holz 280-340
Heu 260-310
Getreide 250-320
Holzkohle 300
Zeitungspapier 175

(a) Implementiere eine Funktion, die für ein übergebenes Material und eine übergebene Temperatur zurückgibt, ob das Material Gefahr läuft, sich bei dieser Temperatur selbst zu entzünden.

Suche

v
100.137.2.1.1.3 Übungen: Fallunterscheidungen
Kopieren durch Anklicken

Rückmeldung geben