;; 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 kapitel-2) (read-case-sensitive #f) (teachpacks ()) (deinprogramm-settings #(#f write repeating-decimal #f #t none explicit #f ()))) ; Kapitel 2 ; aus der Anzahl der Fahrzeuge und Räder die Anzahl der PKWs bestimmen (: parking-lot-cars (natural natural -> natural)) (check-expect (parking-lot-cars 4 16) 4) (check-expect (parking-lot-cars 5 18) 4) (check-expect (parking-lot-cars 1 2) 0) (check-expect (parking-lot-cars 0 0) 0) (define parking-lot-cars (lambda (n m) (/ (- m (* 2 n)) 2))) ; Volumen eines Zylinders berechnen ; erste Definition ;(: cylinder-volume (real real -> real)) ; (define cylinder-volume ; (lambda (radius height) ; (* (* 3.14159265 (* radius radius)) ; height))) ; Volumen eines Zylinders berechnen (: cylinder-volume (real real -> real)) (check-within (cylinder-volume 1 1) pi 0.01) (check-within (cylinder-volume 4 3) (* 16 pi 3) 0.01) (define cylinder-volume (lambda (radius height) (* (circle-area radius) height))) ; Fläche eines Kreises berechnen (: circle-area (real -> real)) (check-within (circle-area 1) pi 0.01) (check-within (circle-area 3) (* 9 pi) 0.01) (define circle-area (lambda (radius) (* pi (square radius)))) ; Kreiskonstante (: pi real) (define pi 3.14159265) ; Zahl quadrieren (: square (real -> real)) (check-expect (square 1) 1) (check-expect (square 4) 16) (define square (lambda (x) (* x x)))