• Keine Ergebnisse gefunden

Listen in PROLOG

N/A
N/A
Protected

Academic year: 2021

Aktie "Listen in PROLOG"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Michael Arndt Sommersemester 2003

Fritz Hamm Ubungsblatt 5¨

Peter Schroeder-Heister 4.6.2003

Ubungen zur Vorlesung ¨ Logikprogrammierung

Listen in PROLOG

Die leere Liste wird in PROLOG dargestellt durch die Konstante []. Die Liste mit Kopf s und Rest t wird in PROLOG dargestellt durch den Term ’.’(s, t) und abgek¨urzt als [s|t]. Die Liste mit den Elementen a,b,c wird dargestellt durch den Term ’.’(a,’.’(b,’.’(c,[]))), abgek¨urzt als[a,b,c]. Allgemein steht[t1, t2, . . . , tn] f¨ur’.’(t1,’.’(t2, . . . ,’.’(tn,[]). . .))und [t1, t2, . . . , tn|s] f¨ur ’.’(t1,’.’(t2, . . . ,’.’(tn, s). . .)).

Aufgabe 1 (2 Punkte)

Vereinfachen Sie folgende Listen, d.h. geben Sie sie jeweils in abgek¨urzter Schreibweise an. Stellen Sie die Listen als B¨aume dar, in denen innere Knoten das Funktionszeichen ’.’ und Bl¨atter entweder Konstanten a bis f oder die leere Liste []tragen.

(1) [a|[b,c|[d,e,f]]]

(2) [a|[b|[[c]|[d|[e,f]]]]]

(3) [[a,b|[c,d,[e|[f]]]]]

(4) [a,b,[c,[d,e]],f]

Aufgabe 2 (1 Punkte) Gegeben ist folgendes Pr¨adikat:

append([],L,L).

append([X|L1],L2,[X|L3]) :- append(L1,L2,L3).

Was ergibt?-append([a,b],[c,d],L)? Welche L¨osungen hatappend(L1,L2,[a,b|L1])? Welche L¨osungen hat append(L1,L2,[a,b|L2])? Erkl¨aren Sie jeweils die Systematik der L¨osungen.

Aufgabe 3 (2 Punkte) Gegeben ist folgendes Pr¨adikat:

member1(X,[X|L]).

member1(X,[Y|L]) :- member1(X,L).

Welche L¨osungen ergibt ?-member1(X,[1,2,3]) der Reihe nach? Was geschieht, wenn man die Reihenfolge der beiden Klauseln vertauscht? Warum? Definieren Sie das Pr¨adikatmember2/2unter Verwendung von append/3.

Aufgabe 4 (1 Punkt)

Definieren sie ein Pr¨adikat rev(L1,L2), das die invertierte Liste von L1 in L2 berechnet, so daß z.B. rev([1,2,3],[3,2,1])gilt.

Referenzen

ÄHNLICHE DOKUMENTE

Repräsentieren Sie diesen Automaten in Prolog und schreiben Sie ein Prädikat fsa_accept/1, das als Argument eine Liste nimmt und gelingt, wenn die Liste eine von dem

2 Schreibe ein Prädikat set_equal/2, das zwei Listen L1 und L2 nimmt und gelingt, wenn die beiden Listen als Mengen betrachtet gleich sind (also die gleichen Elemente haben).

Silver Clean: Lyocell-Jerseybezug mit Silberausstattung, 36% Polyamid, 33% Lyocell, 29% Polyester, 1,9% Baumwolle, 0,1% Polyamid versilbert, versteppt mit ca.. Als

Gerade für taktische Ideen können ETFs eine gute Wahl sein: Während sich viele aktive Manager auf qualitativ hochwertige Unternehmen konzentrieren, werden sprunghafte

Wrap gefüllt mit Rindercarpaccio, Salat, Pesto, Broadbeans, Grana Padano Käse und Trüffelmayonaise.

Les manuscrits soumis pour publication dans la Revue de droit comparé du travail et de la sécurité sociale doivent être adressés par courrier électronique ou par voie postale avant

Der Katalog wassergefährdender Stoffe erfaßt eine Reihe von Stoffen, die vornehmlich im Verkehr sind und ausschließlich durch die KBwS eingestuft worden sind.. Die Stoffe sind

Denn wie wir an einem Leib viele Glieder haben, aber nicht alle Glieder dieselbe Aufgabe haben, so sind wir, die vie- len, ein Leib in Christus, aber untereinander ist einer des