;; Die ersten drei Zeilen dieser Datei wurden von DrRacket eingefügt. Sie enthalten Metadaten ;; über die Sprachebene dieser Datei in einer Form, die DrRacket verarbeiten kann. #reader(lib "DMdA-beginner-reader.ss" "deinprogramm")((modname waterstate) (read-case-sensitive #f) (teachpacks ()) (deinprogramm-settings #(#f write repeating-decimal #f #t none explicit #f ()))) ; Aggregatzustand von Wasser in abhängigkeit von seiner Temperatur (: water-state (real -> (one-of "solid" "liquid" "gaseous"))) (check-expect (water-state -5) "solid") (check-expect (water-state 0) "solid") (check-expect (water-state 23) "liquid") (check-expect (water-state 100) "gaseous") #;(define water-state (lambda (t) ...)) ; Ergebnis besteht aus drei Kategorien, daher drei Fallunterscheidungen #;(define water-state (lambda (t) (cond (... ...) (... ...) (... ...)))) #;(define water-state (lambda (t) (cond (... "solid") (... "liquid") (... "gaseous")))) #;(define water-state (lambda (t) (cond ((<= t 0) "solid") ((and (> t 0) (< t 100)) "liquid") ((>= t 100) "gaseous")))) ; "Optimierung" (define water-state (lambda (t) (cond ((<= t 0) "solid") ((< t 100) "liquid") (else "gaseous"))))