prolog

capo

Redshirt
Mitglied seit
06.03.2012
Beiträge
2
Renomée
0
hallo, ich habe folgende aufgabe versucht (s.Bild) zu lösen....

ich konnte es allerdings nicht. in der musterlösug stand folgendes:

tneun( [ ] , [ ] ).

tneun( [ X |Xs ] , [ Y| Ys ] ) :- m ( X,Y ) , tneun ( Xs,Ys ).


kann mir jmd. erklären wieso, das so ist?


über eine antwort würde ich mich echt freuen. jede hilfe ist willkommen...,)

edit: also ich hab das so verstanden, dass [ X |Xs ] die liste mit den zahlen ist und [ Y| Ys ] die liste mit den buchstaben. so und X und Y sind jeweils die köpfe der listen. weiter kam ich allerdings nicht...;(
 
Zuletzt bearbeitet:
Die Aufgabe gibt es vollständig auf Seite 16: verify.rwth-aachen.de/programmierungWS07/klausuren/loesung080227.pdf

Einmal Wikipedia Prolog, insbesondere den Abschnitt Weitere Techniken ansehen und dann wird klar wie das zu lösen ist. Denn dieser Aufgabeteil benötigt einfach nur Grundwissen Listen und Rekursion.
"Entscheidend für die Prolog-Programmierung sind die Techniken der Rekursion und die Nutzung von Listen."
Im Abschnitt Grundprinzip sind vermutlich noch diese beiden Erklärungen sinnvoll.
- "Zusätzlich zu Fakten lassen sich in Prolog Regeln formulieren. Der Regeloperator :- ist dabei wie ein umgedrehter Implikationspfeil zu lesen."
- "Der Operator "," in dieser Regel definiert eine Konjunktion und liest sich "und". Der Term links vom Implikationsoperator nennt sich auch Head oder Konsequenz. Haben zwei Regeln (wie oben) die gleiche Konsequenz, folgt diese, wenn mindestens in einer Regel die Vorbedingung erfüllt ist (Disjunktion)."
 
ja ich weiß woher ichs habe....ich habs versucht zu verstehen. geht aber nicht...;(
 
Zurück
Oben Unten