• Keine Ergebnisse gefunden

Prof. Carsten Lutz/Dr. Jean Christoph Jung Sommersemester 2015

N/A
N/A
Protected

Academic year: 2021

Aktie "Prof. Carsten Lutz/Dr. Jean Christoph Jung Sommersemester 2015"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Carsten Lutz/Dr. Jean Christoph Jung Sommersemester 2015

Theoretische Informatik 2 Blatt 6 (Gewertete Aufgaben)

Abgabe: Dienstag, 26.05.2015 bis 12 Uhr Besprechung: KW 21

1. (30%=10%+10%+10%) Geben Sie f¨ ur folgende Funktionen LOOP-Programme an (f¨ ur Aufgabe b) d¨ urfen Sie Aufgabe a) und f¨ ur Aufgabe c) d¨ urfen Sie Aufgabe b) als Unter- programm verwenden):

a) teilt ∶ N × N → N mit

teilt ( x, y ) = ⎧⎪⎪

⎨⎪⎪ ⎩

0 falls x = 0 oder ( x > 0 und x teilt y nicht ) , 1 falls x > 0 und x teilt y.

b) tzahl ∶ N → N mit

tzahl ( x ) = ∑

x

i=0

teilt ( i, x ) . c) prim ∶ N → N mit

prim ( x ) = ⎧⎪⎪

⎨⎪⎪ ⎩

1 falls x eine Primzahl ist, 0 sonst.

2. (20%=10%+10%) Stellen Sie folgende Funktionen als primitiv-rekursive Funktionen dar. Wenn Sie eine Funktion durch primitive Rekursion definieren, dann geben Sie bitte explizit die Funktionen g und h wie in Beispiel 14.1 im Skript an.

a) sub ∶ N

2

→ N mit

sub ( x, y ) = ⎧⎪⎪

⎨⎪⎪ ⎩

x − y falls x ≥ y

0 sonst.

b) sdiff ∶ N

2

→ N mit

sdiff ( x, y ) = ⎧⎪⎪

⎨⎪⎪ ⎩

x − y falls x ≥ y

y − x sonst.

(2)

3. (20%=10%+10%)

a) Geben Sie ein WHILE-Programm an, das die folgende Funktion f berechnet:

f ( x, y ) = ⎧⎪⎪⎪⎪

⎨⎪⎪⎪ ⎪⎩

1 falls x ≥ 1 und x teilt y;

0 falls x ≥ 1 und x teilt y nicht;

undefiniert falls x = 0.

b) Notieren Sie die folgende Funktion cube ( x ) als µ-rekursive Funktion:

cube ( x ) = ⎧⎪⎪

⎨⎪⎪ ⎩

1 falls x = n

3

f¨ ur ein n ∈ N ; undefiniert sonst.

4. (30%=15%+15%) GOTO-Programme bestehen aus Sequenzen von Anweisungen A

i

, die jeweils durch eine Marke M

i

eingeleitet werden, also Sequenzen der Art

M

1

∶ A

1

; M

2

∶ A

2

; . . . ; M

k

∶ A

k

,

wobei m¨ ogliche Anweisungen A

i

einer der folgenden Gestalt sind:

• Wertzuweisung, Addition: x

i

∶= x

j

+ c f¨ ur c ∈ N

• Wertzuweisung, Subtraktion: x

i

∶= x

j

c f¨ ur c ∈ N

• Unbedingter Sprung: GOTO M

i

• Bedingter Sprung: IF x

i

= x

j

THEN GOTO M

i

• Stoppanweisung: HALT

Die Semantik der GOTO-Programme ist auf die nat¨ urliche Art definiert; der berech- nete Wert steht (wie bei WHILE-Programmen) in der Variablen x

0

nachdem die HALT- Anweisung durchgef¨ uhrt wurde. Wir nennen eine Funktion GOTO-berechenbar, wenn es ein GOTO-Programm gibt, das diese Funktion berechnet.

Zeigen Sie, dass

a) jede WHILE-berechenbare Funktion GOTO-berechenbar ist, und b) jede GOTO-berechenbare Funktion WHILE-berechenbar ist.

In beiden Richtungen gen¨ ugt es, die Konstruktion anzugeben und kurz f¨ ur Korrektheit zu argumentieren. Ein formaler Korrektheitsbeweis ist nicht erforderlich.

Hinweis. F¨ ur die Aufgaben 1-3 d¨ urfen Sie alle Konstrukte verwenden, die bereits in

Vorlesung oder ¨ Ubung als primitiv rekursiv, µ-rekursiv, LOOP- oder WHILE-berechenbar

nachgewiesen wurden.

Referenzen

ÄHNLICHE DOKUMENTE

(30%=3×10%) F¨ ur die folgenden Aufgaben d¨ urfen Sie alle Funktionen verwenden, die bereits der Vorlesung als primitiv-rekursiv nachgewiesen wurden. Zeigen Sie von

Dabei d¨urfen Sie alle in der Vorlesung als primitiv/µ-rekursiv nachgewiesene Funktionen als µ- rekursiv voraussetzen.. Dabei bezeichnet A die

Wiederholen Sie die eingef¨uhrten Algorithmen f¨ur das Wortproblem und das Leerheitsproblem f¨ur Typ-3 Sprachen (pr¨asentiert als endlicher Auto- mat) und Typ-2 Sprachen

Abgabe:Bis 6.5.13 ins Postfach Ihrer Tutorin/ Ihres Tutors Besprechung: KW

F¨ur diese Aufgabe d¨urfen die in der Vorlesung eingef¨uhrten Konstrukte und LOOP - berechenbaren Funktionen d¨urfen verwendet werden.. Sie d¨urfen f¨ur diese Aufgabe die in

(20%=10%+10%) F¨ur die folgenden Aufgaben d¨urfen Sie alle Funktionen verwenden, die bereits in der Vorlesung oder in der ¨ Ubung als primitiv-rekursiv nachgewiesen wur- den. Zeigen

Abgabe: Bis 11.05.2015 ins Postfach Ihrer Tutorin/Ihres Tutors Besprechung: KW

F¨ ur diese Aufgabe d¨ urfen die in der Vorlesung eingef¨ uhrten Konstrukte und LOOP- berechenbaren Funktionen verwendet werden. Sie d¨ urfen f¨ ur diese Aufgabe die in der