Informatik 1 - Mitschriften von Klaas Ole Kürtz
Informatik 1 - Mitschriften von Klaas Ole Kürtz
Informatik 1 - Mitschriften von Klaas Ole Kürtz
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