added "my"

main
David Miller 2025-02-06 01:18:27 +01:00
parent 7d5391dae7
commit 725251dc57
2 changed files with 29 additions and 21 deletions

View File

@ -1,22 +1,22 @@
-- Aufgabe: Implementiere die rekursive Funktion `map` -- Aufgabe: Implementiere die rekursive Funktion `myMap`
-- Funktionssignatur -- Funktionssignatur
map :: (a -> b) -> [a] -> [b] myMap :: (a -> b) -> [a] -> [b]
-- TODO: Implementiere die Funktion mit Rekursion -- TODO: Implementiere die Funktion mit Rekursion
map _ [] = undefined myMap _ [] = undefined
map f (x:xs) = undefined myMap f (x:xs) = undefined
-- Testfälle -- Testfälle
test1 = map (*2) [1,2,3] == [2,4,6] test1 = myMap (*2) [1,2,3] == [2,4,6]
test2 = map show [1,2,3] == ["1", "2", "3"] test2 = myMap show [1,2,3] == ["1", "2", "3"]
test3 = map (+1) [] == [] test3 = myMap (+1) [] == []
test4 = map (const "a") [1,2,3] == ["a", "a", "a"] test4 = myMap (const "a") [1,2,3] == ["a", "a", "a"]
-- Hauptfunktion zum Testen -- Hauptfunktion zum Testen
main :: IO () main :: IO ()
main = do main = do
putStrLn "Teste map-Funktion..." putStrLn "Teste myMap-Funktion..."
print test1 print test1
print test2 print test2
print test3 print test3

View File

@ -1,24 +1,32 @@
-- Aufgabe: Implementiere die rekursive Funktion `zip` -- Aufgabe: Implementiere die rekursive Funktion `myZip`
-- Funktionssignatur -- Funktionssignatur
zip :: [a] -> [b] -> [(a, b)] myZip :: [a] -> [b] -> [(a, b)]
-- TODO: Implementiere die Funktion mit Rekursion -- TODO: Implementiere die Funktion mit Rekursion
zip [] _ = undefined myZip [] _ = undefined
zip _ [] = undefined myZip _ [] = undefined
zip (x:xs) (y:ys) = undefined myZip (x:xs) (y:ys) = undefined
-- Testfälle -- Testfälle mit `null` und expliziten Typannotationen
test1 = zip [1,2,3] ['a', 'b', 'c'] == [(1, 'a'), (2, 'b'), (3, 'c')] test1 :: Bool
test2 = zip [1,2] ["eins", "zwei", "drei"] == [(1, "eins"), (2, "zwei")] test1 = myZip [1,2,3] ['a', 'b', 'c'] == [(1, 'a'), (2, 'b'), (3, 'c')]
test3 = zip [True, False] [1,2,3] == [(True,1), (False,2)]
test4 = zip [] [1,2,3] == []
test5 = zip [1,2,3] [] == []
test2 :: Bool
test2 = myZip [1,2] ["eins", "zwei", "drei"] == [(1, "eins"), (2, "zwei")]
test3 :: Bool
test3 = myZip [True, False] [1,2,3] == [(True,1), (False,2)]
test4 :: Bool
test4 = null (myZip [] [1,2,3])
test5 :: Bool
test5 = null (myZip [1,2,3] [])
-- Hauptfunktion zum Testen -- Hauptfunktion zum Testen
main :: IO () main :: IO ()
main = do main = do
putStrLn "Teste zip-Funktion..." putStrLn "Teste myZip-Funktion..."
print test1 print test1
print test2 print test2
print test3 print test3