8. Übungsblatt zu Programmierung, WS 04/05

Werbung
8. Übungsblatt zu Programmierung, WS 04/05
R
S
SA
IS
S
UN
E R SIT
A
IV
A VIE N
Prof. Dr. Gert Smolka, Dipl.-Inform. Guido Tack
http://www.ps.uni-sb.de/courses/prog-ws04/
Lesen Sie im Skript: Kapitel 6.10, 6.12, 7.2-7.5
Aufgabe 8.1 Zeichnen Sie die Hasse-Diagramme der folgenden Ordnungen:
a) NO({0, 2, 3, −3, −2}).
b) IO({2, 4}).
c) SO(K), wobei K die Menge aller Konsitutenten von {∅, {∅}, {∅, {∅}}} ist.
Aufgabe 8.2 Geben Sie präzise Definitionen für die Begriffe kleinstes Element, minimales Element und untere Schranke an.
Aufgabe 8.3 Sei R eine partielle Ordnung. Charakterisieren Sie die folgenden Begriffe aus der Graphsicht:
a)
b)
c)
d)
x ∈ Com R ist minimales Element von Com R.
x ∈ Com R ist kleinstes Element von Com R.
x ∈ X ist kleinstes Element von X ⊆ Com R.
x ∈ Com R ist untere Schranke von X ⊆ Com R.
Aufgabe 8.4 Geben Sie jeweils das Hasse-Diagramm einer möglichst kleinen Ordnung R wie folgt an:
a) Com R hat zwei minimale und zwei maximale Elemente.
b) Com R hat zwei minimale und drei maximale Elemente.
Aufgabe 8.5 Geben Sie eine lineare Ordnung R und eine nichtleere Menge X ⊆ Com R
an, sodass X eine untere und eine obere Schranke hat, aber weder minimale noch
maximale Elemente.
Aufgabe 8.6 Geben Sie eine endliche, reflexive und transitive Relation R an, zu der
kein eindeutig bestimmter kleinster Graph existiert, der sie darstellt.
Aufgabe 8.7 Sei eine Prozedur mit der folgenden Rekursionsfunktion gegeben:
λ x ∈ Z. if x < 0 then hx − 5i else if x < 4 then hi else hx − 3, x − 2i
a) Geben Sie den Argumentbereich der Prozedur an.
2004–12–13
16:29
b) Geben Sie den Rekursionsbaum für 8 an.
c) Geben Sie eine nicht-rekursive Beschreibung der Terminierungsmenge T n für n ≥
0 an.
d) Geben Sie den Definitionsbereich der Prozedur an.
Aufgabe 8.8 Sei die folgende Prozedur gegegeben:
forall : Z → Z → (Z → B) → B
forall m n p = if m > n then 1 else if p m = 0 then 0 else forall (m + 1) n p
a) Ist forall linear- oder baumrekursiv?
b) Geben Sie die Rekursionsfunktion von forall an.
c) Geben Sie eine natürliche Terminierungsfunktion für forall an.
Aufgabe 8.9 Zeigen Sie, dass die Prozedur
p: N → N
p n = if n < 1 then 1 else p(n − 1) + 2n + 1
die Funktion λ n ∈ N. (n + 1)2 berechnet.
Aufgabe 8.10 Geben Sie eine rekursive Prozedur p : N+ → N an, die für n ∈ N+ die
Summe 1 + 3 + · · · + (2n − 1) der ungeraden Zahlen von 1 bis 2n − 1 berechnet.
Beweisen Sie, dass Ihre Prozedur die Funktion λ n ∈ N+. n2 berechnet.
Aufgabe 8.11 Sei die folgende Prozedur gegeben:
p : Z2 → Z
p(x, y) = if x < y then p(x, y − 1) else
if x > y then p(x − 1, y) else x
Beweisen Sie, dass diese Prozedur die Funktion λ (x, y) ∈ Z2. min{x, y} berechnet.
Aufgabe 8.12 (Natürliche Quadratwurzel) Sei die folgende Prozedur gegeben:
p : N2 → N
p(n, x) = if n2 ≤ x then p(n + 1, x) else n − 1
Beweisen Sie, dass diese Prozedur die Funktion λ (n, x) ∈ N2. max{n − 1,
berechnet.
2004–12–13
16:29
√ x }
Aufgabe 8.13 Geben Sie für die Prozedur rev aus Abbildung 7.2 im Skript die Rekursionsfunktion, die Rekursionsrelation sowie eine natürliche Terminierungsfunktion
an.
Aufgabe 8.14 Beweisen Sie die restlichen Gleichungen von Proposition 7.4.2 im Skript
mithilfe von struktureller Induktion. Für den Beweis von (d) benötigten Sie (c). Für
den Beweis von (e) benötigten Sie (a) und (b). Für den Beweis von (f) benötigten Sie
(e).
2004–12–13
16:29
Herunterladen