Zum Forum springen
Benachrichtigungen
Alles löschen

Aufgabenblatt - Prolog

3 Beiträge
2 Benutzer
0 Reactions
512 Ansichten
Wirsiing
Beigetreten: 31.07.2010
PokerStrategist

Hallo,

hoffe es treiben sich hier auch Informatiker rum die sich mit Prolog auskennen.
Ich brauche noch 2 Aufgaben für meine Klausurzulassung, die c) und die f):

Aufgabe 1 (2 + 1 + 2 + 2 + 2 + 2 Punkte) Gib fur folgende Teilaufgaben jeweils eine
Implementierung in Prolog an. Zur Vereinheitlichung sei deniert, da das erste Element einer
Liste an der Position 0 steht:
a) Das Pradikat zip(Xs,Ys,Rs) soll erfullt sein, wenn Rs eine Liste aus Tupeln (x,y) ist, die
aus den Elementen der Listen Xs und Ys bestehen. Dabei sollen die Elemente gleicher Indizes
zusammengefugt werden. (Dies entspricht etwa der Funktion zip aus Haskell.)
b) Schreibe das Pradikat zip(Xs,Ys,Rs) so um, dass fur unterschiedlich lange Listen Xs und Ys
jeweils nur bis zur Lange der kurzeren Liste zusammengefugt wird. (Wenn nicht sowieso schon
in a) berucksichtigt).
c) Das Pradikat indexList(E,Xs,Rs) soll erfullt sein, wenn Rs eine Liste mit allen Positionen
ist, an denen das Element E in Xs vorkommt. Beachte, dass dazu auf ein weiteres neues Pradikat
zuruckgreifen musst, welches einen Parameter als Zahlvariable nutzt.
d) Das Pradikat indexOf(E,Xs,P) soll erfullt sein, wenn P die Position angibt, an der E in Xs
steht. Es soll moglich sein, dass bei freier Belegung von P nacheinander alle Position ausgegeben
werden.
e) Das Pradikat everySecond(Xs,Rs) soll erfullt sein, wenn Rs jedes zweite Elemente aus Xs
enthalt.
f) Das Pradikat everyNth(N,Xs,Rs) soll erfullt sein, wenn Rs jedes N-te Elemente aus Xs enthalt.
Beispiele:
?- zip([1,2,3],[a,b],Rs).
Rs = [(1,a),(2,b)]
?- indexList(a,[a,b,c,a,b],Rs).
Rs = [0,3]
?- indexOf(a,[a,b,c,a,b],P).
P = 0 <space>
P = 3 .
?- everySecond([a,b,c,d,e,f],Rs).
Rs = [b,d,f].
?- everyNth(3,[a,b,c,d,e,f],Rs).
Rs = [c,f].

Hoffe mir kann jemand helfen wird knapp...
Danke schonmal


Antwort
Zitat
2 Antworten
ilja
Beigetreten: 20.06.2006
BlackMember

Wenn du es immer noch brauchst, kann ich mir das mal montag anschauen. (jedoch ohne Gewähr, dass ichs hinkriege) ;)


Antwort
Zitat
Wirsiing Themenstarter
Wirsiing
Beigetreten: 31.07.2010
PokerStrategist

Sehr liebes Angebot aber ich habs damals dann nach einigem Rumprobieren doch noch hinbekommen.


Antwort
Zitat
Teilen: