Dla definicji operatorów op(100,xfx,^). oraz op(100,fy,~). Wyrażenie a ^ b ~ b ^ c jest:
Jaki będzie wynik wykonania poniższego zapytania: ?- [X|Y]=[d,d,c,b,b,a], bagof(Z^X, member(Z,Y), W).:
Atomy w języku Prolog:
Elementy programu prologowego, które decydują o jego interpretacji proceduralnej to:
Mając na uwadze niedeterminizm predykatu retract należy wskazać, które z poniższych odpowiedzi dla celu ?-g(X). są poprawne, jeżeli wcześniej zostały wydane zapytania: ?- asserta(g(1)),asserta(g(2)),asserta(g(3)). ?- retract(g(X)).
Weryfikacja rodzaju termu odbywa się w języku Prolog za pomocą następujących metapredykatów systemowych:
Mając na uwadze niedeterminizm predykatu retract należy wskazać, które z poniższych odpowiedzi dla celu ?-g(X). są poprawne, jeżeli wcześniej zostały wydane zapytania: ?- assertz(g(1)),assertz(g(2)),assertz(g(3)). ?- retract(g(X)).
Mając na uwadze niedeterminizm predykatu retract należy wskazać, które z poniższych odpowiedzi dla celu ?-g(X). są poprawne, jeżeli wcześniej zostały wydane zapytania ?- asserta(g(3)),asserta(g(2)),asserta(g(1)). ?- retract(g(X)). :
Które z poniższych obiektów języka Prolog są stałymi:
Które z poniższych zapytań wybiera dowolną parę dwóch zupełnie dowolnych elementów (bez ograniczeń kolejnościowych z listy L:
Wartości zmiennych w języku Prolog
Dla następującego programu prologowego: p(1). p(2). p(3):-!. , które z poniższych odpowiedzi są wszystkimi rozwiązaniami dla zapytania ?- !, p(X), !, p(Y).
Jaki będzie wynik zapytania ?- N is 6, K=5, K is N-2.:
Przetwarzanie składowych złożonych struktur danych (reprezentowanych w języku Prolog za pomocą zagnieżdżonych termów) realizowane jest z wykorzystaniem następujących operatorów i metapredykatów systemowych:
Do ewaluacji wyrażenia będącego terminem złożonym z funktorem arytmetycznym dochodzi kiedy użyjemy operatora:
Które z poniższych zapytań zakończą się spełnieniem celu:
Dla definicji operatorów op(100, xfy, #). oraz op(50, xf, @). wyrażenie a # b @ # c jest"
Dla definicji operatorów op(100, xfy, #). oraz op(55, xf, ~). wyrażenie a # b ~ # c jest:
Jaki będzie wynik wykonania zapytania ?- arg(2,[a,b,c,d],K).:
Niech abs oznacza funkcję arytmetyczną, zwracającą wartość bezwzględną liczby. Jaki będzie wynik działania zapytania ?- m([-1,3,-8,5,-2,1],X). dla definicji predykatów: m(L,X) :- member(X,L), a(X,L). a(X,L) :- L=[]; L=[H|T], abs(H)>=abs(X), a(X,T).