Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik Universität Kassel 19.05.2015 1. Probeklausur Theoretische Informatik: Berechenbarkeit und Formale Sprachen SS 2015 Name: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vorname: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matrikelnummer: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Übungsgruppe: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hinweise: – Tragen Sie zunächst Namen und Matrikelnummer oben ein. – Die Klausur besteht aus 3 Aufgaben, bei denen jeweils 10 Punkte erreichbar sind. Die Bearbeitungszeit beträgt 45 Minuten. – Lesen Sie sich die jeweilige Aufgabenstellung genau durch, ehe Sie mit der Bearbeitung anfangen. Schreiben Sie deutlich und gut leserlich, da unleserliche Antworten nicht gewertet werden können! Achten Sie ferner auf die korrekte formale Schreibweise und vergessen Sie nicht den entsprechenden Antwortsatz! – Bearbeiten Sie die Aufgaben auf dem jeweiligen Blatt. Sollte der Platz nicht ausreichen, so können Sie auf dem freien Blatt gegenüber und auf den freien Blättern am Ende fortfahren. Im letzteren Fall bitte unbedingt einen entsprechenden Hinweis auf der Aufgabenseite angeben. – Lose Blätter sind nicht erlaubt! Insbesondere werden sie bei der Korrektur nicht berücksichtigt. Ferner sind keine Hilfsmittel außer einem handschriftlich beschriebenen Blatt zugelassen. – Die Ergebnisse werden in den Übungen bekanntgegeben. VIEL ERFOLG ! Punktzahl (von 30): . . . . . . . . . . . . . . . . . . . . . . . . . . . Note: . . . . . . . . . . . . . . . . . . . . . . . . . . . AUFGABE 1. (Abzählbarkeit, Überabzählbarkeit) a) Sei M = Z − N die Menge der negativen Zahlen. Ist M abzählbar? b) Sei F = {f : 2N → {1, 2, 3}}, d.h., F ist die Menge der Funktionen, die von der Menge 2N der geraden Zahlen in die Menge {1, 2, 3} abbilden. Ist F abzählbar? Hinweis: Beachten Sie, dass Sie Ihre Antworten auch beweisen müssen. 1 2 AUFGABE 2. (GOTO-Programm) Sei P das folgende GOTO-Programm: M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 : : : : : : : : : : x3 := x1 + 3; IF x3 = 0 THEN GOTO M10 ; x4 := x2 + 0; x0 := x0 + 1; IF x4 = 0 THEN GOTO M2 ; IF x3 = 0 THEN GOTO M9 ; x3 := x3 − 1; GOTO M2 ; x0 := x0 − 1; HALT a) Bestimmen Sie die Ergebnisse für die Eingaben (0, 1), (1, 2) und (3, 3). b) Geben Sie die vom Programm P berechnete Funktion f : N2 → N explizit an, d.h. den Definitionsbereich, den Wertebereich und die entsprechende Zuordnung zwischen Ein- und Ausgabe. c) Ist die Funktion f primitiv-rekursiv? Geben Sie eine kurze Begründung für Ihre Antwort! 3 4 AUFGABE 3. (prim.-rek. Funktionen und µ-rekursive Funktionen) (a) Zeigen Sie, dass die folgenden Funktionen primitiv-rekursiv sind. Dabei sollen keine LOOP-Programme verwendet werden. Vielmehr soll für die jeweils betrachtete Funktion eine primitiv-rekursive Darstellung angegeben werden. Allerdings dürfen Sie aus der Vorlesung bekannte primitiv-rekursive Funktionen verwenden. 0, falls n = 0, 1. f (n) = 1, falls n > 0. 2. g(n) = 3n P (i + 1). i=0 3. Seien f, g : N → N totale Funktionen, die die folgende Bedingung erfüllen: g(n) = f (n)−̇f (n−̇1) für alle n ≥ 0. Zeigen Sie, dass g primitiv-rekursiv ist, wenn f primitiv-rekursiv ist. (b) Welche Funktion wird durch den Ausdruck µf (n) : N → N dargestellt, wobei f (m, n) = (m2 + 2) − 2n ist? 5 6 7 8 9