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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

• Selektor (variable (konstr-poly v tl)) = v<br />

• Selektor (termliste (konstr-poly v tl)) = tl<br />

• Konstante leere-termnliste<br />

• Abfrage leere-termnliste?<br />

• Prozedur term-anhaengen mit höherem Grad<br />

• Selektor erster-term<br />

• Selektor rest-term<br />

• Selektor grad Grad eines Termes<br />

• Selektor koeff Koeffizienten eines Termes<br />

Rechnen mit Polynomen: Addition (und analog Multiplikation)<br />

(define (+poly p1 p2)<br />

(if (gleiche-variable (variable p1) (variable p2))<br />

(konstr-poly (variable p1) (+terme (term-liste p1)<br />

(term-liste p2)))<br />

(error "Polynome haben ungleiche Variablen")))<br />

Erweiterung der generischen Arithmetik:<br />

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

(put ’poly ’mult *poly)<br />

Implementierung <strong>von</strong> +terme (siehe Zettel): Vergleiche Grad der ersten Terme,<br />

wenn diese gleich sind, so addiere Koeffizienten, andernfalls füge Term mit<br />

größerem Grad hinzu. *terme:<br />

• multipliziere jeden Term mit allen Termen des anderen Polynoms<br />

• addiere diese Polynome<br />

• Multiplikation <strong>von</strong> Termen: Addiere Grade, Multipliziere Koeffizienten<br />

Koeffizienten mit generischen Operatoren add/mult verknüpft ⇒ Polynome<br />

mit beliebigen Koeffizienten aus Arithmetikmodul (reell, komplex, rat)<br />

• mit Typanpassung: (5x 2 + (4 − 2i)x · (6x 5 + 3 2 x2 )<br />

• auch Polynome als Koeffizienten: (y + 1)x 2 + (y 3 + 5y 2 )x<br />

Implementierung der Termlisten:<br />

40

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!