Tag: meta-predicate

Ein meta-Prädikat ist ein Prädikat mit einem argument definiert über Prädikate oder in Bezug auf einige module. In vielen Prolog-Systemen, wie Prädikate deklariert sind, mit einer Richtlinie (meta_predicate)/1.

Prolog Länge einer Liste

Anzahl der Antworten 2 Antworten
Wie kann ich die Berechnung der Länge einer Liste ?- size_sub([[b,a,g], [9,3,7,4], [6]], X). X = [3, 4, 1]. ?- size_sub([[c,g,e,w], [7]], X). X = [4, 1]. ?- size_sub(, X). X = . ist, die Letzte richtige?

Finden der max in einer Liste - Prolog

Anzahl der Antworten 7 Antworten
Ich wurde nur eingeführt, um Prolog und bin versucht zu schreiben, ein Prädikat, findet die Max-Wertes einer Liste von ganzen zahlen. Ich muss eins schreiben, der vergleicht von Anfang an und die andere, vergleicht am Ende. Bisher

Definieren von Graphen in Prolog: Kante und Pfad, zu finden, wenn es einen Pfad zwischen zwei Knoten

Anzahl der Antworten 4 Antworten
Ich bin sehr neu in Prolog. Ich definierte in graph.pl den folgenden Graphen: Und hier ist mein Prolog-code: edge(a,e). edge(e,d). edge(d,c). edge(c,b). edge(b,a). edge(d,a). edge(e,c). edge(f,b). path(X,X). path(X,Y):- edge(X,Z) ; path(Z,Y). Ich verstehe es so: gibt es

Prolog Fakultät Rekursion

Anzahl der Antworten 9 Antworten
Ich habe Probleme beim Verständnis der folgenden Faktoren-Programm fact1(0,Result) :- Result is 1. fact1(N,Result) :- N > 0, N1 is N-1, fact1(N1,Result1), Result is Result1*N. Wenn fact1 heißt geschachtelt innerhalb des zweiten fact1, heißt das nicht, dass

Prolog: Filtern einer Liste?

Anzahl der Antworten 5 Antworten
Derzeit arbeite ich an einem sehr kurzen Projekt auf den Prolog, und nur steckengeblieben versucht, einen "filter" die ich erstellt habe, auf eine Liste. Ich habe das, was man nennen könnte den filter bereit, aber ich kann

Prolog-Map-Prozedur, die Prädikat auf Listenelemente anwendet

Anzahl der Antworten 1 Antworten
Wie schreiben Sie ein Prolog-Prozedur map(List, PredName, Result) gilt das Prädikat PredName(Arg, Res) auf die Elemente des Listund gibt das Ergebnis zurück in die Liste Result? Beispiel: test(N,R) :- R is N*N. ?- map([3,5,-2], test, L). L