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.

(define (pi-summe a b)<br />

(summe (lambda (x) (/ 1 (* x (+ x 2))))<br />

(lambda (x) (+ x 4))<br />

a b))<br />

Allgemein: (lambda () ), Wert: Prozedur.<br />

Statt Prozedurnamen können immer auch λ-Definitionen verwendet werden:<br />

statt (mittelwert x y) kann man folgendes verwenden:<br />

((lambda (x y) (/ (+ x y) 2)) 2 6)<br />

Das λ-Kalkül (Church 1941) ist Grundlage der funktionalen Programmierung.<br />

2.5.6 Sonderform let<br />

Statt define (lokal) auch Sonderform let:<br />

(let ((var1 ausdr1)<br />

(var2 ausdr2)<br />

...<br />

(varn ausdrn))<br />

rumpf)<br />

Leseweise: Lasse var 1 den Wert <strong>von</strong> ausdr 1 haben, ... lasse var n den Wert<br />

<strong>von</strong> ausdr n haben im rumpf.<br />

Konzeptionell nicht neu, sondern let ist äquivalent zu lokalen Prozeduren im<br />

Rumpf („sytaktischer Zucker“für praktische Schreibweise).<br />

Alle Einzelterme in let werden im Prinzip gleichzeitig ausgewertet:<br />

(define x 5)<br />

(let ((x 2) (y x)) (+ x y))<br />

Dabei benutzt (y x) die vorherige Definition <strong>von</strong> x = 5, das (+ x y) benutzt<br />

x = 2.<br />

2.5.7 universelle Berechnungsverfahren<br />

Mathematik: z.B. Nullstellenbestimmung, Differenzieren für (fast) beliebige<br />

Funktionen. Implementierung durch Prozeduren hörerer Ordnung, Beispiel<br />

Nullstellenbestimmung durch Invervallhalbierung.<br />

Gegeben: beliebige Funktion f, Punkte a, b mit f(a) < 0 ∧ f(b) > 0. Idee<br />

Intervallhalbierung: Sei x der Mittelwert <strong>von</strong> a und b. Falls f(x) > 0 liegt die<br />

Nullstelle in ]a, x[, bei f(x) < 0 liegt die Nullstelle in ]x, b[. Laufzeit: wegen<br />

Halbierung in jedem Schritt: O(log( |b−a| )) mit der Toleranzgrenze T (Länge<br />

T<br />

des Zielintervalls). Implementierung:<br />

18

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!