Mercurial > 12ws.info2
comparison exercises/src/Exercise_1.hs @ 4:e02058a1afbd
week 1 homework
author | Markus Kaiser <markus.kaiser@in.tum.de> |
---|---|
date | Sun, 28 Oct 2012 15:31:36 +0100 |
parents | e532198d58f4 |
children |
comparison
equal
deleted
inserted
replaced
3:ce6ac2bddc76 | 4:e02058a1afbd |
---|---|
113 | 113 |
114 {---------------------------------------------------------------------} | 114 {---------------------------------------------------------------------} |
115 {- Aufgabe H1.1 -} | 115 {- Aufgabe H1.1 -} |
116 {-WETT-} {- Diese Zeile nicht entfernen -} | 116 {-WETT-} {- Diese Zeile nicht entfernen -} |
117 sum_max_sq :: Integer -> Integer -> Integer -> Integer | 117 sum_max_sq :: Integer -> Integer -> Integer -> Integer |
118 sum_max_sq x y z = undefined | 118 sum_max_sq x y z = max x y ^ 2 + min x y `max` z ^ 2 |
119 | |
120 {-TTEW-} {- Diese Zeile nicht enfernen! -} | 119 {-TTEW-} {- Diese Zeile nicht enfernen! -} |
121 | 120 |
122 | 121 |
123 | 122 |
124 {---------------------------------------------------------------------} | 123 {---------------------------------------------------------------------} |
125 {- Aufgabe H1.2 -} | 124 {- Aufgabe H1.2 -} |
126 | |
127 {- Teil 1 -} | 125 {- Teil 1 -} |
128 f :: Integer -> Integer | 126 f :: Integer -> Integer |
129 f n = undefined | 127 f n |
128 | n > 100 = n - 10 | |
129 | otherwise = f (f (n + 11)) | |
130 | |
130 | 131 |
131 {- Teil 2 -} | 132 {- Teil 2 -} |
132 {- | 133 {- |
133 - Schreiben Sie ihre Lösungen in diesen Kommentar | 134 - [(x, f x) | x <- [0,1,2,3,42,101,1001,-10]] |
135 - | |
136 - ( x, f x) | |
137 - ----------- | |
138 - ( 0, 91) | |
139 - ( 1, 91) | |
140 - ( 2, 91) | |
141 - ( 3, 91) | |
142 - ( 42, 91) | |
143 - ( 101, 91) | |
144 - (1001, 991) | |
145 - ( -10, 91) | |
134 -} | 146 -} |
147 | |
135 | 148 |
136 {- Teil 3 -} | 149 {- Teil 3 -} |
137 f' :: Integer -> Integer | 150 f' :: Integer -> Integer |
138 f' n = undefined | 151 f' n = if n > 101 then n - 10 else 91 |
139 | 152 |
140 {- Quickcheck test -} | 153 |
154 {- Quickcheck test -} | |
155 prop_f n = f n == f' n | |
141 | 156 |
142 | 157 |
143 | 158 |
144 {---------------------------------------------------------------------} | 159 {---------------------------------------------------------------------} |
145 {- Aufgabe H1.3 -} | 160 {- Aufgabe H1.3 -} |
146 | |
147 {- Teil 1 -} | 161 {- Teil 1 -} |
148 is_square' :: Integer -> Integer -> Bool | 162 is_square' :: Integer -> Integer -> Bool |
149 is_square' n m = undefined | 163 is_square' n 0 = n == 0 |
164 is_square' n m | |
165 | m < 0 = False | |
166 | otherwise = m * m == n || is_square' n (m-1) | |
167 | |
150 | 168 |
151 {- Teil 2 -} | 169 {- Teil 2 -} |
152 is_square :: Integer -> Bool | 170 is_square :: Integer -> Bool |
153 is_square n = undefined | 171 is_square n |
172 | n < 0 = False | |
173 | otherwise = is_square' n n |