diff --git a/klausur/code/haskell/kl.hs b/klausur/code/haskell/kl.hs
index a18a29a685bb0a11f288cde63afbb424bafe0bf5..22cf0ccd86d4e29b6295e11634b1d453fe82ae6d 100644
--- a/klausur/code/haskell/kl.hs
+++ b/klausur/code/haskell/kl.hs
@@ -10,7 +10,8 @@ levenshtein xs [] = length xs
 levenshtein (x:xs) (y:ys)
     | x == y = levenshtein xs ys
     | otherwise = 1 + minim
-        [ levenshtein (x:xs) ys -- y einfuegen
-        , levenshtein xs (y:ys) -- x loeschen
-        , levenshtein xs ys-- x zu y aendern
-        ]
+        [
+            levenshtein (x:xs) ys
+            , levenshtein xs (y:ys)
+            , levenshtein xs ys
+        ]
\ No newline at end of file
diff --git a/klausur_tut/2012-02-22-Klausur-Loesung.pdf b/klausur_tut/2012-02-22-Klausur-Loesung.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..922a2b6f693167ff4ecab28d65ac6f9d329dd883
Binary files /dev/null and b/klausur_tut/2012-02-22-Klausur-Loesung.pdf differ
diff --git a/klausur_tut/2012-03-21-Klausur-Loesung.pdf b/klausur_tut/2012-03-21-Klausur-Loesung.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..3bde1c573044279c9323206f76c31e72a35b3bb2
Binary files /dev/null and b/klausur_tut/2012-03-21-Klausur-Loesung.pdf differ
diff --git a/klausur_tut/2013-03-20-Klausur-Loesung.pdf b/klausur_tut/2013-03-20-Klausur-Loesung.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..43a0d1efde0188cbb921ce48f08fe2f9e64ae6d9
Binary files /dev/null and b/klausur_tut/2013-03-20-Klausur-Loesung.pdf differ
diff --git a/klausur_tut/20_03_2013.pl b/klausur_tut/20_03_2013.pl
new file mode 100644
index 0000000000000000000000000000000000000000..b0031cf00290b7ba3b78a0405b826c2616ffc49b
--- /dev/null
+++ b/klausur_tut/20_03_2013.pl
@@ -0,0 +1,14 @@
+% Knowledge Base
+busFahrt(linie4, 1420, drieschergaesschen, 1424, karlsgraben).
+busFahrt(linie33, 1411, ponttor, 1413, drieschergaesschen).
+
+% Befehle:
+% busVerbindung(ponttor, karlsgraben, 1400, P).
+% busVerbindung(ponttor, karlsgraben, 1415, P).
+
+
+% Aufgabe
+busVerbindung(O, O, _, []).
+busVerbindung(V, B, S, [mit(L, VZ, BO)|R]) :- busFahrt(L, VZ, V, BZ, BO),
+                            VZ >= B,
+                            busVerbindung(BO, B, BZ, R).
\ No newline at end of file
diff --git a/klausur_tut/21_03_2012.pl b/klausur_tut/21_03_2012.pl
new file mode 100644
index 0000000000000000000000000000000000000000..c34ff8ab7096d5744f5381ab18ebadb3dcab9f30
--- /dev/null
+++ b/klausur_tut/21_03_2012.pl
@@ -0,0 +1,18 @@
+% Aufruf:
+% del(2,[3,2,1,2,3],ZS).
+% delN(s(s(0)),[1,2,3],ZS).
+% min([3,2,1,2,3],Y).
+
+% a
+del(_, [], []).
+del(X, [X|XS], XS).
+del(X, [Y|XS], [Y|R]) :- del(X, XS, R).
+
+% b
+delN(0, XS, XS).
+delN(s(X), XS, R) :- del(_, XS, YS), delN(X, YS, R).
+
+% c
+min([X], X).
+min([X|XS], X) :- min(XS, Y), Y >= X.
+min([X|XS], Y) :- min(XS, Y), Y < X.
\ No newline at end of file
diff --git a/klausur_tut/22_02_2012.pl b/klausur_tut/22_02_2012.pl
new file mode 100644
index 0000000000000000000000000000000000000000..586fe91ab2cc82660872c8a90acfa2ae333d7957
--- /dev/null
+++ b/klausur_tut/22_02_2012.pl
@@ -0,0 +1,17 @@
+% Aufruf
+% kennzeichen([auto(eu-ts884,69),auto(dn-gh184,64),auto(ac-lj123,72)],X).
+% einordnen([auto(ac-mb815,66),auto(bm-co100,74)],[auto(eu-ts884,69),auto(dn-gh184,64),auto(ac-lj123,72)],X).
+%
+
+% a
+kennzeichen([], []).
+kennzeichen([auto(X, _) | XS], [X| R]) :- kennzeichen(XS, R).
+
+% b
+einordnen(XS, [], XS).
+einordnen([], YS, YS).
+einordnen([X|XS], [Y|YS], [X, Y|R]) :- einordnen(XS, YS, R).
+
+% c
+durchschnitt([auto(_, G)], 1, G).
+durchschnitt([auto(_, G) | XS], N, D) :- durchschnitt(XS, N1, D1), N is N1 + 1, D is (D1 * N1 + G) / N.
\ No newline at end of file