i

Zusammengesetzte Daten in Racket

Records

Schüler

-> Schüler mit Record Name, Note


(define-record schueler
  make-schueler
  schueler?
  (schueler-name string)
  (schueler-punkte real))

Ausprobieren in der Shell

Was machen die einzelnen Prompts


    > (make-schueler "Phoenix" 460)
    > (schueler? phoenix)
    > (define phoenix (make-schueler "Phoenix" 460))
    > (schueler? phoenix)


    > (schueler-name phoenix)
    > (schueler-punkte phoenix)
    
-> Abitur bestanden ja oder nein?

;Überprüft ob Schüler:in das Abitur schon bestanden hat
(: abitur-bestanden? (schueler -> boolean))
(check-expect (abitur-bestanden? (make-schueler "Schuelerin1" 150)) #f)
(check-expect (abitur-bestanden? (make-schueler "Schuelerin2" 500)) #t)
(define abitur-bestanden?
  (lambda (s)
    (cond
      ([<= 500 (schueler-gesamtpunkte s)] #t)
      ([> 500 (schueler-gesamtpunkte s)] #f)
    )))

Record für ein Computer

Record für ein Computer oder ein Handy (evtl. Smartphone spannender)

Binäre Fallunterscheidung

-> Lässt sich noch vereinfachen zu if-Condition

Rote Box

Suche

v
100.137.3.4 Zusammengesetzte Daten in Racket
Kopieren durch Anklicken

Rückmeldung geben