Next: Blatt 3
Up: Übungen
Previous: Blatt 1
- 1.
- Experimentieren Sie mit arithmetischen Ausdrücken und machen Sie sich
die dabei zur Anwendung kommenden Regeln klar (
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.
Next: Blatt 3
Up: Übungen
Previous: Blatt 1
Ronald Blaschke
1998-04-19