view exercises/src/Exercise_12.hs @ 31:d14aab8bbf36

week 12
author Markus Kaiser <markus.kaiser@in.tum.de>
date Wed, 16 Jan 2013 19:21:23 +0100
parents
children 21721a110098
line wrap: on
line source

module Exercise_12 where


{---------------------------------------------------------------------}
{- Aufgabe G12.1 -}

{-

Ausdruck: 1 + (2 * 3)


Ausdruck: (1 + 2) * (2 + 3)


Ausdruck: fst (1 + 2, 2 + 3)


Ausdruck: fst (snd (1, 2 + 3), 4)


Ausdruck: (\x. 1 + x) (2 * 3)


-}

{---------------------------------------------------------------------}
{- Aufgabe G12.2 -}

inf :: a -> [a]
inf x = x : inf x

f :: [Int] -> [Int] -> [Int] -> Int
f (x:xs) (y:ys) zs | x > y = y
f (x1:x2:xs) ys (z:zs) = x1

a = f (inf (1+0)) (inf (1+1)) (inf (1+2))
b = f (inf (1+2)) (inf (1+1)) (inf (1+0))
c = f (inf (1+0)) [] (inf (1+1))


{---------------------------------------------------------------------}
{- Aufgabe G12.3 -}

fib :: Integer -> Integer
fib 0 = 0
fib 1 = 1
fib n = fib (n - 1) + fib (n - 2)


fib1 :: [Integer]
fib1 = undefined


fib2 :: Integer -> Integer -> [Integer]
fib2 x y = undefined



{---------------------------------------------------------------------}
{- Aufgabe G12.4 -}

hamming :: [Integer]
hamming = undefined



{---------------------------------------------------------------------}
{- Aufgabe H12.1 -}

wordsOf :: [a] -> [[a]]
wordsOf = undefined



{---------------------------------------------------------------------}
{- Aufgabe H12.2 -}

sumOfPrefixes :: Num a => [a] -> [a]
sumOfPrefixes = undefined



{---------------------------------------------------------------------}
{- Aufgabe H12.3 -}

findByFilter :: (a -> Bool) -> [a] -> Maybe a
findByFilter = undefined



{---------------------------------------------------------------------}
{- Aufgabe H12.4 -}

{-WETT-}
censoredWordsOf :: Eq a => [a] -> [[a]] -> [[a]]
censoredWordsOf = undefined
{-TTEW-}