28.03.2014 Aufrufe

Informatik 1 - Mitschriften von Klaas Ole Kürtz

Informatik 1 - Mitschriften von Klaas Ole Kürtz

Informatik 1 - Mitschriften von Klaas Ole Kürtz

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Anwendung<br />

add, sub, mul, div<br />

generisches Arithmetikpaket<br />

+rat, -rat +c, -c +zahl, -zahl<br />

*rat, /rat *c, /c *zahl, /zahl<br />

rationale Zahlen komplexe Zahlen reelle Zahlen<br />

polar rechteck<br />

Listenstruktur, primitive Funktionen<br />

Vorgehensweise in mehreren Stufen:<br />

3.4.1 Anfügen einer Typetikette<br />

ähnlich wie bei Mehrfachdarstellungen (’rat, ’komplex, ’zahl)<br />

(define (konstr-zahl x) (typ-anbinden ’zahl x))<br />

(define (konstr-komplex z) (typ-anbinden ’komplex z))<br />

(define (+zahl x y) (konstr-zahl (+ x y)))<br />

(define (-zahl x y) (konstr-zahl (- x y)))<br />

(define (*zahl x y) (konstr-zahl (* x y)))<br />

(define (/zahl x y) (konstr-zahl (/ x y)))<br />

(define (+komplex z1 z2) (konstr-komplex (+c z1 z2)))<br />

(define (-komplex z1 z2) (konstr-komplex (-c z1 z2)))<br />

(define (*komplex z1 z2) (konstr-komplex (*c z1 z2)))<br />

(define (/komplex z1 z2) (konstr-komplex (/c z1 z2)))<br />

3.4.2 Verbindung der Arithmetikoperationen mit Zahloperatoren<br />

(put ’zahl ’add +zahl )<br />

(put ’zahl ’sub -zahl )<br />

(put ’zahl ’mul *zahl )<br />

(put ’zahl ’div /zahl )<br />

(put ’komplex ’add +komplex)<br />

(put ’komplex ’sub -komplex)<br />

(put ’komplex ’mul *komplex)<br />

(put ’komplex ’div /komplex)<br />

3.4.3 Definition der generischen Operatoren<br />

(define (add x y) (op-ausfuehren-2 ’add x y))<br />

(define (op-ausfuehren-2 op arg1 arg2)<br />

(let ((t1 (typ arg1)))<br />

36

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!