FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

aufgabe3 der Probeklausur??

aufgabe3 der Probeklausur?? 2004-03-11 22:13
Anonymer User

hat vielleicht jemand der zum ersten termin die klausur geschrieben hat die probeklausur gelöst und kann mir erklären wie das prädikat p/2 funktioniert: es soll die liste umdrehen, wie genau verstehe ich nicht:

p(X,Y):- pp(X,[],Y).

pp([],X,X).
pp([A│X],Y,Z):- pp(X,[A│Y],Z).

Re: aufgabe3 der Probeklausur?? 2004-03-11 23:21
Zaphod
p(X,Y):- pp(X,[],Y).
Nun, zunächst mal wird das "Unterprogramm" pp aufgerufen, und zwar mit den Originallisten und einer leeren Liste.

pp([],X,X).
Ist die erste Liste in pp leer, so ist das Ergebnis (das was ganz rechts in pp steht) genau das, was in der Mitte steht. Dann ist man nämlich fertig. Quasi eine Abbruchbedingung.

pp([A | X],Y,Z):- pp(X,[A | Y],Z).
Man nimmt Den Kopf der Liste X weg und fügt ihn in die Ergebnisliste vorne an. Dadurch wird schrittweise das Ergebnis aufgebaut. Illustration:
abcd, [], [] bcd, a, [] cd, ba, [] d, cba, [] [], dcba, [] <-- nun ist die mittlere Bedingung erfüllt: fertig.

Re: aufgabe3 der Probeklausur?? 2004-03-12 14:24
Anonymer User
danke,
habs jetzt verstanden.

Re: aufgabe3 der Probeklausur?? 2004-03-16 22:53
Anonymer User
in der musterlösung steht, dass dieses prädikat 1:m und m:1 funktional sein soll.
ist das ein tippfehler
meiner ansicht ist dieses prädikat weder 1:m noch m:1

Re: aufgabe3 der Probeklausur?? 2004-03-17 11:23
Joker
Das Prädikat ist auf jeden Fall funktional. Du kannst doch jeder Liste nur eine eindeutig bestimmte umgedrehte Liste zuordnen.

Re: aufgabe3 der Probeklausur?? 2004-03-17 12:05
UncleOwen
Du kannst doch jeder Liste nur eine eindeutig bestimmte umgedrehte Liste zuordnen.
Damit ist es dann aber doch 1:1, und nicht 1:m (oder impliziert 1:1 1:m?)

Re: aufgabe3 der Probeklausur?? 2004-03-17 12:57
Anonymer User
meiner meinung ist es dann auch nur 1:1 funktional
eine liste hat genau nur eine umgedrehte liste
[a b c]= [c b a] wie kann es dann da 1:m funktional sein
das würde bedeuten die liste [a b c] hätte mehr als nur eine umgedrehte liste

Re: aufgabe3 der Probeklausur?? 2004-03-19 13:43
Joker
wie kann es dann da 1:m funktional sein
das würde bedeuten die liste [a b c] hätte mehr als nur eine umgedrehte liste

Also wenn ich mir einfach nur die Definition im Skript für 1:m und m:1 angucke, dann haut es hin. 1:m interpretiere ich z.B. danach so, dass bei einem zweistelligen Prädikat jeder Wert auf der zweiten Argumentenposition nur mit genau einem eindeutigen Wert auf der ersten Position in Relation steht. Das ist hier der Fall.

@UncleOwen:
Ich würde ja auch 1:1 sagen, aber das steht ja nicht als Ankreuzmöglichkeit zur Verfügung.

Re: aufgabe3 der Probeklausur?? 2004-03-19 14:27
Anonymer User
1:m und m:1 ergibt 1:1
also beides ankreuzen

Re: aufgabe3 der Probeklausur?? 2004-03-19 16:39
chris
Ich wollte es auch nicht einsehen, aber 1:1 ergibt 1:m ^ m:1.

Ansonsten ist das aber auch nur ein Punkt wenn man das falsch ankreuzt, entweder weiß mans oder nicht, groß zu überlegen wär IMO Zeitverschwendung…