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.

• generische Operatoren: können mit mehreren Implementierungen umgehen<br />

• manifeste Typen: Daten haben explizite Angabe über die Art der Implementierung<br />

• datengesteuerte Programmierung: Daten entscheiden selbst über Verarbeitung<br />

3.3.1 Beispiel: komplexe Zahlen<br />

Darstellung durch Real- und Imaginärteil bzw. als Koordinaten in R 2 (Rechteckkoordinaten,<br />

gut für Addition) oder durch Betrag und Winkel (Polarkoordinaten,<br />

gut für Multiplikation);<br />

Daher gewünschte Programmebenen:<br />

1. +c, -c, ×c, ÷c<br />

2. konstr-rechtecke, konstr-polar;<br />

real-teil, im-teil, abs-wert und winkel<br />

3. Paare und normale Arithmetik<br />

3.3.2 Implementierung oberste Ebene (Arithmetik)<br />

Addition in Rechteckkoordinaten (x 1 , y 1 ) + (x 2 , y 2 ) = (x 1 + x 2 , y 1 + y 2 ); Multiplikation<br />

in Polarkoordinaten (a 1 , ϕ 1 ) · (a 2 , ϕ 2 ) = (a 1 · a 2 , ϕ 1 + ϕ 2 ):<br />

(define (+c z1 z2)<br />

(konstr-rechteck (+ (real-teil z1) (real-teil z2))<br />

(+ (im-teil z1) (im-teil z2))))<br />

(define (*c z1 z2)<br />

(konstr-polar (* (abs-wert z1) (abs-wert z2))<br />

(+ (winkel z1) (winkel z2))))<br />

3.3.3 Implementierung der Selektoren und Konstruktoren<br />

mit x = a · cos ϕ; y = a · sin ϕ; a = √ x 2 + y 2 ; ϕ = arctan(x, y)<br />

verschiedene Ansätze:<br />

1. intern nur Rechteckskoordinaten<br />

32

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!