• Keine Ergebnisse gefunden

Ubungen zur Vorlesung ¨ Logikprogrammierung

N/A
N/A
Protected

Academic year: 2021

Aktie "Ubungen zur Vorlesung ¨ Logikprogrammierung"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Michael Arndt Sommersemester 2003

Fritz Hamm Ubungsblatt 8¨

Peter Schroeder-Heister 25.6.2003

Ubungen zur Vorlesung ¨ Logikprogrammierung

Aufgabe 1 Lexikalische Analyse (2 Punkte)

Definieren Sie ein Pr¨adikat lexan(String,TokenList), welches einen String, der Zeichen der Aussagenlogik enth¨alt, in eine Liste von Tokens ¨ubersetzt. Dabei sollen die Zeichen gem¨aß folgender Tabelle ¨ubersetzt werden:

A −→ aT

B −→ bT

C −→ cT

D −→ dT

E −→ eT

F −→ fT

( −→ klaT ) −→ klzT - −→ negT

& −→ konT v −→ disT -> −→ impT

<-> −→ gdwT

Leerzeichen im Eingabestring sollen bei der lexikalischen Analyse ignoriert werden. Es sollen sich also z.B. folgende Dialoge ergeben:

?- lexan("A -> (AvB)", L).

L = [aT, impT, klaT, aT, disT, bT, klzT]

Yes

?- lexan(")A -> A(vB", L).

L = [klzT, aT, impT, aT, klaT, disT, bT]

Yes

?- lexan("A <- (AvB)", L).

No

(2)

Aufgabe 2 Differenzlisten (1 Punkt) Betrachten Sie die beiden folgenden Fakten:

a(L - [A|Z], A, L - Z).

c(L - Z1, Z1 - Z2, L - Z2).

Was wird bei den folgenden beiden Zielen in L berechnet?

(a) ?- a([a1, a2, . . . , an|X] - X, b , L).

(b) ?- c([a1, a2, . . . , am|X] - X, [ b1, b2, . . . , bn|Y] - Y, L).

Aufgabe 3 Quick-Sort (3 Punkte)

Eine Liste Lvon nat¨urlichen Zahlen soll nach der folgenden Methode sortiert werden:

”Man nimmt das erste Element X von L und spaltet den Rest von L in die Liste Small, der Elemente≤X, und in die ListeBig, der Elemente > X, auf. Dann werden Small und Big sortiert und mit X geeignet zusammengef¨ugt, so daß eine geordnete Liste ensteht.“

Programmieren Sie Quick-Sort mit Hilfe von Differenzlisten.

Hinweis:Schreiben Sie ein Pr¨adikat q, so daßq([a1, a2, . . . , an], L) in L die geordnete Differenz- liste [aπ(1), aπ(2), . . . , aπ(n)|Z] - Zberechnet. Dann definiert man:

quicksort(L,S) :- q(L, S - []).

Referenzen

ÄHNLICHE DOKUMENTE

E ine nachhaltige Herstellung von Treibstoffen und von Grund- stoffen für die chemische Industrie erfordert Prozesse, die ohne fossile Rohstoffe wie Erdöl auskommen. Verfahren,

Beim Acht-Damen-Problem sollen acht K¨oniginnen so auf einem Schachbrett positioniert werden, daß keine K¨onigin eine andere bedroht. Eine Position auf dem Schachbrett ist gegeben

Den Tokens klaT und klzT werden nat¨urlich keine Terme oder Funktionszeichen zugewiesen; sie gehen implizit in die Struktur des funktionalen Terms

Erweitern Sie die Pr¨adikate lexan/2 und parse/2, so daß aussagenlogische Sequenzen lexikalisch analysiert und geparst werden k¨onnen.. Gestalten Sie dabei das Pr¨adikat parse/2

Definieren Sie ein Pr¨adikat provable/1 , welches f¨ur einen String, der eine g¨ultige Sequenz im Sinne von Aufgabe 1 von ¨ Ubungsblatt 11 darstellt, angibt, ob die Sequenz

[r]

Angenommen der binäre Suchbaum ist stark (d.h. maximal) entartet, auf welche Anzahl (minimal, maximal,.. durchschnittlich) von Vergleichen ändert sich

NOTE AC:14, 18 stand for the open vowels (front and back respectively) specifically marked in Marathi orthography and to some extent in Hindi orthography.. NOTE AD: 42 stands for