Prof. Dr. Manfred Schmidt-Schauß Fachbereich Informatik (20) Künstliche Intelligenz/Softwaretechnologie Johann Wolfgang Goethe-Universität Frankfurt am Main

Praktische Informatik 1:

Wintersemester 1997/98

Übungsblatt Nr. 1

Aufgabe 1 (5 Punkte)

Melden Sie eine Benutzerberechtigung beim RBI an, loggen Sie sich ein und starten Sie den Haskell Interpreter hugs.

Aufgabe 2 (5 Punkte)

Geben Sie take 20 [x| x <- [1..], even x] in den Interpreter ein und lassen Sie das Ergebnis auf einem Drucker ausdrucken.

Aufgabe 3 (5 Punkte)

Geben Sie am Interpreter-Prompt :s +t ein und berechnen Sie 12345 * 12345,

123456 * 123456 und 123456 * 123456 :: Integer.

Aufgabe 4 (10 Punkte)

In Hugs selbst ist kein Editor integriert, aber man kann Dateien, die Funktionen enthalten, laden. Schreiben Sie in eine Datei, Fakultaet.hs, mit einem Editor (z.B. emacs, vi, pico, … )

fak :: Int -> Int
fak n
  | n == 1    = 1
  | otherwise = n*(fak (n-1))

und laden Sie diese in den Interpreter.

1. Ermitteln Sie die Ergebnisse von fak x für x ∈ {1, …, 20}.

2. Was geschieht, wenn Sie fak 20 :: Integer auswerten lassen?

3. Ändern Sie die erste Zeile der Datei Fakultaet.hs zu fak :: Integer -> Integer und ermitteln Sie die Ergebnisse von fak x :: Integer für x ∈ {1, …, 20} mit dieser Version.