• Keine Ergebnisse gefunden

HTWK Leipzig, Fakult¨at IMN Prof. Dr. Sibylle Schwarz

N/A
N/A
Protected

Academic year: 2022

Aktie "HTWK Leipzig, Fakult¨at IMN Prof. Dr. Sibylle Schwarz"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

HTWK Leipzig, Fakult¨at IMN

Prof. Dr. Sibylle Schwarz sibylle.schwarz@htwk-leipzig.de

6. Praktikum zur Vorlesung

”Deklarative Programmierung“

Sommersemester 2015 gestellt am 26. Mai 2015

Aufgabe 6.1 (Funktionen auf Bin¨arb¨aumen)

Definieren Sie die folgenden Funktionen (Typdeklarationen nicht vergessen):

a. f¨ur Bin¨arb¨aume mit Int-Schl¨usseln (nur in den inneren Knoten):

(a) bt_max, welche den gr¨oßten Schl¨ussel im eingegebenen Baum angibt,

(b) bt_contains, welche angibt, ob ein eingegebener Baum einen eingegebenen Schl¨ussel enth¨alt,

(c) bt_alle_gleich, welche angibt, ob alle im eingegebenen Baum enthaltenen Schl¨ussel gleich sind.

b. f¨ur Bin¨arb¨aume mit Schl¨usseln eines beliebigen Typs (nur in den inneren Knoten):

(a) single, welche ausgibt, ob ein eingegebener Baum nur genau einen Schl¨ussel enth¨alt,

(b) preorder, welche die preorder-Schl¨usselfolge des eingegebenen Baumes angibt, (c) postorder, welche die postorder-Schl¨usselfolge des eingegebenen Baumes angibt, (d) tiefe, welche die Tiefe des Baumes (d.h. die maximale Anzahl der Kanten auf

dem l¨angsten Pfad von der Wurzel zu einem Blatt) angibt.

Aufgabe 6.2 (Strukturelle Induktion ¨uber Bin¨arb¨aumen)

Zeigen Sie durch strukturelle Induktion, dass f¨ur alle Bin¨arb¨aume mit nat¨urlichen Zahlen als Schl¨ussel gilt: bt_sum t = list_sum ( inorder t )

Aufgabe 6.3 (Bin¨arb¨aume mit Schl¨usseln in den Bl¨attern)

a. Definieren Sie einen Datentyp zur Repr¨asentation von Bin¨arb¨aumen, die nur in den Bl¨attern Schl¨ussel enthalten.

b. Definieren Sie f¨ur diese Art von B¨aumen die Funktionen (mit Typdeklarationen):

(a) count ( Anzahl der inneren Knoten ) (b) leaves ( Anzahl der Bl¨atter )

(c) tree_sum( Summe aller Schl¨ussel im Baum ) (d) tree_max( gr¨oßter vorkommender Schl¨ussel )

(e) tree_contains, welche angibt, ob der eingegebene Baum einen eingegebenen Schl¨ussel enth¨alt,

(f) tree_alle_gleich, welche angibt, ob alle im eingegebenen Baum enthaltenen Schl¨ussel gleich sind,

(g) tiefe ( wie in Aufgabe 6.bd)

Ubungsaufgaben, Folien und weitere Hinweise zur Vorlesung finden Sie online unter¨ www.imn.htwk-leipzig.de/~schwarz/lehre/ss15/dp.

Referenzen

ÄHNLICHE DOKUMENTE

Ein Kaffeeautomat bietet Kaffe in zwei verschiedenen Gr¨ oßen zu verschiedene Preisen an und kann auf Wunsch noch eine oder mehrere Portionen Milch und / oder Zucker dazugeben..

Ubungsaufgaben, Folien und weitere Hinweise zur Vorlesung finden Sie online unter ¨

Definieren Sie eine geeignete Version von fold f¨ ur den als L¨ osung zu Aufgabe 7.4 definierten Datentyp Formel zur Repr¨ asentation aussagenlogischer Formeln (ohne

Uberlegen Sie (ohne Computer), welche Funktionen ¨ ¨ uber Listen hier mit Hilfe der in der Vorlesung vorgestellten Funktionen h¨ oherer Ordnung definiert werden:a. filter (\ x

Falls ja, stellen Sie den Ausdruck als Baum dar und geben Sie die Mengen der frei und der gebunden vorkommenden Variablen

Geben Sie eine Ableitung und einen Ableitungsbaum bez¨ uglich der dort angegebenen Gramma- tik und der Start-Variablen topdecl an f¨ ur: class B t => C t where { f :: t -> Bool

Er soll M¨ unzen zu 0,5 e , 1 e und 2 e nehmen und eine Eingabe akzeptieren (mit Ausgabe der Fahrkarte), sobald der Preis der gew¨ ahlten Fahrkarte erreicht oder ¨ uberschritten

Geben Sie f¨ ur jedes der folgenden Formelpaare an, welche der Relationen | =, ≡ zwischen den Formeln bestehen und begr¨ unden Sie Ihre