;; 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 cookie) (read-case-sensitive #f) (teachpacks ()) (deinprogramm-settings #(#f write repeating-decimal #f #t none explicit #f ()))) (: simple-choc chocolate-cookie) (define simple-choc (make-chocolate-cookie 10 12)) (define double-choc (make-chocolate-cookie 20 12)) ; Gewicht eine Schokokekses bestimmen (: chocolate-cookie-weight (chocolate-cookie -> real)) (check-expect (chocolate-cookie-weight simple-choc) 22) (check-expect (chocolate-cookie-weight double-choc) 32) #;(define chocolate-cookie-weight (lambda (c) ...(chocolate-cookie-chocolate c) ... ...(chocolate-cookie-cookie c) ...)) (define chocolate-cookie-weight (lambda (c) (+ (chocolate-cookie-chocolate c) (chocolate-cookie-cookie c)))) ; Aus einem Keks einen neuen Keks mit doppelt so hohem ; Schokoladenanteil machen (: double-chocolate-in-cookie (chocolate-cookie -> chocolate-cookie)) (check-expect (double-chocolate-in-cookie simple-choc) double-choc) #;(define double-chocolate-in-cookie (lambda (c) ...)) #;(define double-chocolate-in-cookie (lambda (c) ...(chocolate-cookie-chocolate c) ...(chocolate-cookie-cookie c)...)) #;(define double-chocolate-in-cookie (lambda (c) (make-chocolate-cookie ...(chocolate-cookie-chocolate c) ...(chocolate-cookie-cookie c)...))) (define double-chocolate-in-cookie (lambda (c) (make-chocolate-cookie (* 2 (chocolate-cookie-chocolate c)) (chocolate-cookie-cookie c))))