annotate exercises/src/Exercise_2.hs @ 2:243f6cfa029a

week 2
author Markus Kaiser <markus.kaiser@in.tum.de>
date Wed, 24 Oct 2012 15:49:06 +0200
parents
children f1a337c9f260
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1 module Exercise_2 where
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
2 import Test.QuickCheck
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
3 import Data.List
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
4
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
5 {---------------------------------------------------------------------}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
6 {- Aufgabe G2.1 -}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
7 all_sums :: [Integer] -> [Integer] -> [Integer]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
8 all_sums xs ys = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
9
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
10
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
11 evens :: [Integer] -> [Integer]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
12 evens xs = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
13
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
14
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
15 n_lists :: [Integer] -> [[Integer]]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
16 n_lists xs = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
17
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
18
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
19 all_even_sum_lists :: [Integer] -> [Integer] -> [[Integer]]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
20 all_even_sum_lists xs ys = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
21
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
22
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
23
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
24 {---------------------------------------------------------------------}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
25 {- Aufgabe G2.2 -}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
26 union :: [Integer] -> [Integer] -> [Integer]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
27 union xs ys = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
28
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
29
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
30 intersection :: [Integer] -> [Integer] -> [Integer]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
31 intersection xs ys = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
32
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
33
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
34 diff :: [Integer] -> [Integer] -> [Integer]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
35 diff xs ys = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
36
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
37
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
38 elem' :: Integer -> [Integer] -> Bool
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
39 elem' x xs = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
40
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
41
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
42 union' :: [Integer] -> [Integer] -> [Integer]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
43 union' xs ys = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
44
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
45
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
46 {---------------------------------------------------------------------}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
47 {- Aufgabe G2.3 -}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
48 eq_frac :: (Integer,Integer) -> (Integer,Integer) -> Bool
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
49 eq_frac (a,b) (c,d) = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
50
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
51
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
52 intersection_frac :: [(Integer,Integer)] -> [(Integer,Integer)] -> [(Integer,Integer)]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
53 intersection_frac xs ys = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
54
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
55
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
56
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
57 {---------------------------------------------------------------------}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
58 {- Aufgabe G2.4 -}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
59 pow2_slow :: Integer -> Integer
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
60 pow2_slow 0 = 1
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
61 pow2_slow n | n > 0 = 2 * pow2_slow (n - 1)
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
62
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
63
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
64 pow2 :: Integer -> Integer
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
65 pow2 n = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
66
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
67
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
68
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
69 {---------------------------------------------------------------------}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
70 {- Aufgabe G2.5 -}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
71 reachable :: [(Integer, Integer)] -> Integer -> [(Integer, Integer)]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
72 reachable graph 0 = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
73
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
74
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
75
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
76 {---------------------------------------------------------------------}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
77 {- Aufgabe H2.1 -}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
78 factorials :: [Integer] -> [Integer]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
79 factorials ns = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
80
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
81 count :: [Char] -> Char -> Integer
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
82 count cs c = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
83
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
84
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
85
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
86 {---------------------------------------------------------------------}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
87 {- Aufgabe H2.2 -}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
88 lookupTab :: [Integer] -> [(Integer, [Char])] -> [[[Char]]]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
89 lookupTab keys tab = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
90
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
91
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
92
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
93 {---------------------------------------------------------------------}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
94 {- Aufgabe H2.3 -}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
95 wordsOfLength :: [Char] -> Integer -> [[Char]]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
96 wordsOfLength alphabet n = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
97
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
98
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
99
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
100 {---------------------------------------------------------------------}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
101 {- Aufgabe H2.4 -}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
102 {-WETT-}
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
103 perms :: [Char] -> [[Char]]
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
104 perms [] = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
105 perms xs = undefined
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
106 {-TTEW-}