Home
 

Blatt 2

Blatt 2

1.
Experimentieren Sie mit arithmetischen Ausdrücken und machen Sie sich die dabei zur Anwendung kommenden Regeln klar ( $\Rightarrow$ Literatur); befassen Sie sich insbesondere mit Klammerung, Typfragen (Mischung von Float und Int), Grenzen des Zahlbereichs.
2.
Geben sie eigene Haskell Definitionen (nebst Typ) für übliche Funktionen wie Fakultät, Fibonacci, ggT, max, k-aus-n und dergleichen, und probieren Sie die Eigenprodukte aus.
3.
Geben sie eigene Haskell Definitionen für "`und"' und "`oder"' durch Fallunterscheidung (ohne Gebrauch der vorgegebenen Operationen) . Prüfen Sie anhand von Beispielen, ob Ihre Eigenprodukte mit ``&&'' und ``||'' übereinstimmen hinsichtlich a) des Verhaltens im Falle undefinierter/fehlerhafter Teilausdrücke (sowas wie True || (1/0) == 0.001 ) und b) der Bindekraft-/Assoziationsregeln. Wenn nicht: Kann man da was machen?
4.
Schreiben Sie eine Funktion integrate :: (Float->Float)->Float->Float, die bei Aufruf mit
integrate f x den Wert des Integrals von f im Intervall von 0 bis x liefert. Benutzen Sie zur Berechnung ein einfaches Näherungsverfahren (Unterteilung in eine feste oder auch von der Intervallbreite abhängige Zahl von Streifen).
5.
Verändern Sie das in der Vorlesung gegebene Verfahren zur Nullstellenberechnug in ein Verfahren zur Berechnung der n-ten Wurzel einer Zahl x (n :: Int, n>1, x:: Float). Das neue Verfahren soll im Unterschied zum alten n und nicht eine reelle Funktion als Parameter haben, und es soll bei der Formulierung des Verbesserungsschritts nicht von numerischer Differentiation (also der Funktion diff) Gebrauch machen, sondern die jedermann bekannte Ableitung der Funktion xn benutzen.

nextnextupuppreviouspreviouscontentscontents
Next:Blatt 3Up:ÜbungenPrevious:Blatt 1
Ronald Blaschke
1998-04-19