Links und Funktionen
Sprachumschaltung

Navigationspfad


Inhaltsbereich

Code 05

Code aus dem zweiten Teil der Vorlesung über Rekursion

Haskell source code icon Vorlesung5.hs — Haskell source code, 1 KB (1106 bytes)

Dateiinhalt

summe :: Int -> Int  -- rekursive, partielle Funktion. Berechnet die Summe der ersten n natürlichen Zahlen. Terminiert nicht für negative Eingaben.
summe 0 = 0
summe n = n + summe (n-1)
{- Hier sollte eine partielle Funktion demonstriert werden. 
   In der Praxis wäre aber folgende Definition besser:
summe 0 = 0
summe n | n > 0     = n + summe (n-1)
        | otherwise = error "Funktion summe nur für nicht-negative Zahlen definiert."
-}


fakultät :: Int -> Int -- rekursive, partielle Fakultätsfunktion
fakultät 0 = 1
fakultät n = n * fakultät (n-1)
{- Auch hier würde man besser eine Fehlermeldung zurückgeben -}


waldläufer :: Int -> Int     -- läuft in den Wald und kommt nie wieder heraus
waldläufer x = waldläufer x


mydrop :: Int -> [a] -> [a] -- entfernt die ersten n Elemente der Argumentliste
-- Ursprüngliche Version mit komplette Fallunterscheidung:
-- mdrop 0 []    = []
-- mdrop 0 (h:t) = h:t
-- mdrop n []    = []
-- mdrop n (h:t) = mdrop (n-1) t 
-- Am Ende vereinfachte Version:
mydrop _ []    = []
mydrop 0 xs    = xs
mydrop n (_:t) = mdrop (n-1) t 
















Artikelaktionen

abgelegt unter:

Funktionsleiste