Baza pytań

Pytanie 1: Mając na uwadze fakt, iż negacja w języku Prolog realizowana jest przez niepowodzenie należy dla faktów q(a,b).q(a,c). oraz reguły s(X,Y) :- not(X=Y), q(Z,X), q(Z,Y). wybrać odpowiedź będącą rezultatem zapytania ?- s(P,R). :
  • ✓ False
  • ○ P=_G327 R=_G417i
  • ○ P=b R=c; P=c R=b; False
  • ○ P=a R=b; P=b R=c; P=a R=c; False
Pytanie 2: Elementy programu prologowego, które decydują o jego interpretacji proceduralnej to:
  • ✓ kolejność reguł w programie
  • ○ sumaryczna liczba odcięć w regułach
  • ✓ kolejność warunków w regułach
  • ✓ umiejscowienie odcięć w regułach
  • ○ sumaryczna liczba reguł w programie
Pytanie 3: Weryfikacja rodzaju termu odbywa się w języku Prolog za pomocą następujących metapredykatów systemowych:
  • ○ name
  • ○ functor
  • ✓ atom
  • ○ setof
  • ✓ var
  • ○ arg
  • ✓ atomic
Pytanie 4: Do rodziny predykatów, umożliwiających automatyczną generację (w postaci listy) wszystkich rozwiązań celu, uzyskiwanych w drodze nawrotów zaliczamy następujące metapredykaty systemowe:
  • ○ repeat
  • ✓ bagof
  • ○ forall
  • ✓ findall
  • ✓ setof
  • ○ call
  • ○ assert
Pytanie 5: Predykaty użytkownika mogą być argumentami wywołania następujących metapredykatów systemowych:
  • ○ repeat
  • ✓ bagof
  • ✓ setof
  • ✓ findall
  • ✓ assert
  • ✓ not
  • ✓ call
Pytanie 6: Które z poniższych zapytań zakończą się spełnieniem celu :
  • ○ ?- X=Z, Y=Z, X\==Y.
  • ✓ ?- X=Z, Y=Z, X==Y.
  • ○ ?- X=a, Y=a, X\==Y.
  • ✓ ?- X=a, Y=a, X==Y.
  • ✓ ?- _\==_.
  • ○ ?- _==_
  • ✓ ?- X=f(_), Y=f(_), X\==Y.
  • ○ ?- X=f(_), Y=f(_), X==Y.
  • ✓ ?- f(a,_)\==f(a,_)
  • ○ ?- f(a,_)==f(a,_)
Pytanie 7: Nagłówek w klauzuli prologowej w sensie formalnym:
  • ○ może zawierać negację predykatu
  • ✓ nie może zawierać negacji predykatu
  • ○ może zawierać operatory koniunkcji lub dysjunkcji
  • ○ nie może zawierać operatorów koniunkcji i dysjunkcji (nie może ani tego ani koniunkcji, ani dysjunkcji - niejasno sformułowana odpowiedź)
  • ✓ nie może zawierać operatorów koniunkcji lub dysjunkcji
  • ✓ może zawierać predykatu o arności 0
  • ○ nie może zawierać predykatu o arności 0
  • ✓ może być pusty
  • ○ nie może być pusty
Pytanie 8: Odcięcie:
  • ✓ uniemożliwia spełnienie celów poprzedzających je w części warunkowej klauzuli w inny, alternatywny sposób
  • ✓ uniemożliwia analizę wszystkich pozostałych klauzul z tym samym nagłówkiem, które znajdują się w programie poniżej klauzuli, w której odcięcie wystąpiło
  • ○ powoduje natychmiastowe spełnienie celu, który został dopasowany do nagłówka klauzuli je zawierającej
  • ○ powoduje, że występujące za nim cele w części warunkowej klauzuli nie są analizowane
Pytanie 9: 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:
  • ○ call
  • ○ atomic
  • ○ assert
  • ✓ =..
  • ○ var
  • ✓ arg
  • ○ setof
  • ✓ functor
Pytanie 10: Do ewaluacji wartości wyrażenia będącego termem złożonym z funktorem arytmetycznym dochodzi, kiedy użyjemy operatora:
  • ✓ is
  • ✓ <
  • ✓ =:=
  • ✓ >
  • ✓ =\=
  • ○ =
  • ○ =..
  • ○ ==
  • ✓ >=
  • ✓ =<
Pytanie 11: Mając na uwadze fakt iż negacja w języku Prolog realizowana jest przez niepowodzenie należy dla reguły postaci: s(X,Y) :- not(X=Y), r(Z, X), r(Z, Y). oraz dwóch faktów: r(a, m). r(a, n). Wybrać odpowiedzi będące rezultatem zapytania: ?-s(P,R).
  • ○ P=n R=n; False
  • ○ P=n R=n; P=n, R=m; False
  • ✓ False
  • ○ P=n R=m; P=m R=n; P=n R=m; P=n R=n; False
Pytanie 12: Jaki będzie rezultat wykonania operacji uzgodnienia ?- p(a,X,f(g(X))) = p(Z,f(Z),f(W)).
  • ○ X = f(a), Z = a, W = X.
  • ✓ X = f(a), Z = a, W = g(f(a)).
  • ○ False.
  • ○ X = Z, Z = a, W = g(f).
Pytanie 13: Jaki będzie wynik wykonania zapytania: ?- [a,[b,c]]=..[X,_,Z].
  • ○ X=’.’ Z=[b,c]
  • ○ X=’|’ Z=[[b,c]]
  • ✓ X=’.’ Z=[[b,c]]
  • ○ X=’|’ Z=[b,c]
Pytanie 14: Do grupy predykatów dekompozycji wyrażeń języka Prolog zaliczamy następujące metapredykaty systemowe:
  • ○ call
  • ○ assert
  • ✓ arg
  • ○ findall
Pytanie 15: Jaki będzie rezultat wykonania operacji uzgadniania: ?- n(k,Y,g(h(Y)),h(Y))=n(W,p(W),g(X),h(p(W))).
  • ○ X=h(p(k)) W=k Y=X
  • ○ False
  • ○ X=h(k) W=k Y=h(p(k))
  • ✓ X=h(p(k)) W=k Y=p(k)
Pytanie 16: Jaki będzie wynik wykonania zapytania ?- [a,[b,c]] =.. [_, X, Y]
  • ○ X=[] Y=[a,[b,c]]
  • ✓ X=a Y=[[b,c]]
  • ○ X=a Y=[b,c]
  • ○ X=[a] Y=[b,c]
Pytanie 17: Jaki będzie wynik zapytania: ?- functor(X,'.',2), arg(1,X,a), arg(2,X,[b]) :
  • ○ X=[a,b,[]]
  • ○ X=[a,[b]]
  • ✓ X=[a,b]
  • ○ X=[a|b]
Pytanie 18: Jaki będzie wynik wykonania zapytania ?- functor([A|[B|[C]]], F, N). :
  • ✓ F='.' N=2
  • ○ F='|' N=3
  • ○ F="," N=2
  • ○ F='.' N=3
Pytanie 19: Jaki będzie wynik wykonania zapytania ?- functor(f(m,n,n),F, N). :
  • ○ F='.' N=2
  • ✓ F='f' N=3
  • ○ False
  • ○ F=',' N=3
Pytanie 20: Jaki będzie wynik wykonania zapytania ?- arg(2,[a,b,c,d],K).:
  • ○ K=[b]
  • ○ False
  • ✓ K=[b,c,d]
  • ○ K=b
Pytanie 21: Jaki będzie wynik wykonania zapytania ?- arg(3,[a,b,c,d],K).:
  • ○ K=[c,d]
  • ✓ False
  • ○ K=[c]
  • ○ K=c
Pytanie 22: Jaki będzie wynik wykonania zapytania ?- arg(2,[[a],[b],[c],[d]],K).:
  • ○ False
  • ○ K=[[b]]
  • ✓ K=[[b],[c],[d]]
  • ○ K=[b]
Pytanie 23: Jaki będzie wynik wykonania zapytania ?- arg(3,[[a],[b],[c],[d]],K).:
  • ✓ False
  • ○ K=c
  • ○ K=[c]
  • ○ K=[[c],[d]]
Pytanie 24: Jaki będzie wynik wykonania zapytania ?- N is 6, K=4, K is N-2. :
  • ✓ N=6 K=4
  • ○ N=4 K=2
  • ○ N=4 K=4
  • ○ False
Pytanie 25: Jaki będzie wynik wykonania zapytania ?- N is 7, K=5, K is N-2.:
  • ○ N=5 K=5
  • ✓ N=7 K=5
  • ○ N=7 K=3
  • ○ False
Pytanie 26: Jaki będzie wynik zapytania ?- N is 6, K=5, K is N-2.:
  • ○ N=6 K=3
  • ✓ False
  • ○ N=6 K=4
  • ○ N=6 K=5
Pytanie 27: Jaki będzie wynik zapytania ?- K=4, N=K, N is K-2. :
  • ○ K=2 N=2
  • ○ K=4 N=2
  • ✓ False
  • ○ K=4 N=4
Pytanie 28: Jaki będzie wynik wykonania zapytania ?- N is 7, K=4, K is N-2. :
  • ○ N=7 K=3
  • ○ N=7 K=4
  • ○ N=7 K=5
  • ✓ False
Pytanie 29: Która z interpretacji deklaratywnych definicji klauzuli p:-!,a,b. p:-!,c,d. p:-e. jest kompletna i poprawna:
  • ✓ p<=>(a AND b)
  • ○ p<=>(a AND b) OR (c AND d) OR e
  • ○ p<=>(a AND b) OR (¬a AND ¬c AND e)
  • ○ p<=>(¬a AND b) OR (¬c AND d) OR e
Pytanie 30: Która z interpretacji deklaratywnych klauzuli p:-a,!,b. p:-c,!,d. p:-e. jest kompletna i poprawna:
  • ○ p<=>(a and ¬b) OR (c AND ¬d) OR e
  • ○ p<=>(¬a AND b) OR (¬c aND d) OR e
  • ✓ p<=>(a AND b) OR (¬a AND c AND d) OR (¬a AND ¬c AND e)
  • ○ p<=>(¬a AND ¬c AND e)
Pytanie 31: Która z interpretacji deklaratywnych klauzuli p:-!,a,!,b,c. p:-d. jest kompletna i poprawna:
  • ○ p<=>(¬a AND ¬b AND c) OR d
  • ○ p<=>(a AND b AND c) OR (¬a AND d) OR (¬b AND d)
  • ○ p<=>(a AND b AND c) OR (¬a AND ¬b AND d)
  • ✓ p<=>(a ANd b AND c)
Pytanie 32: Która z interpretacji deklaratywnych definicji klauzuli p:-a,!,b. p:-!,c,d. p:-e. jest kompletna i poprawna:
  • ✓ p<=>(a AND b) OR (¬a AND c AND d)
  • ○ p<=>(¬a AND e)
  • ○ p<=>(a AND ¬b) OR (¬c AND d) OR e
  • ○ p<=>(¬a AND b) OR (c AND d) OR e
Pytanie 33: Która z interpretacji deklaratywnych klauzuli Mieścińskiego p:-a,!,b,!,c. p:-d. jest kompletna i poprawna:
  • ✓ p<=>(a AND b AND c) OR (¬a AND d)
  • ○ p<=>(a AND b AND c) OR (¬a AND d) OR (¬b AND d)
  • ○ p<=>(a AND ¬b AND ¬c) OR d
  • ○ p<=>(a AND b AND c) OR (¬a AND ¬b AND d)
Pytanie 34: Która z interpretacji deklaratywnych klauzuli Mieścińskiego p:-!,a,b. p:-c,!,d. p:-e. jest kompletna i poprawna: (?)
  • ○ p<=>(a AND b) OR (¬a AND c AND e)
  • ○ p<=>(¬a AND b) OR (c ANd ¬d) OR e
  • ✓ p<=>(a AND b)
  • ○ p<=>¬(a AND b) OR (c AND ¬d) OR e
Pytanie 35: Która z interpretacji deklaratywnych definicji klauzuli p:-!,a,b,!,c. p:-d. jest kompletna i poprawna:
  • ○ p<=>(¬a AND b AND ¬c) OR d
  • ○ p<=>(a AND b AND c) OR (¬a AND d) OR (¬c AND d)
  • ✓ p<=>(a AND b AND c)
  • ○ p<=>(a AND b AND c) OR (¬a AND b AND ¬d)
Pytanie 36: Dla definicji operatorów op(100,xfy,#). oraz op(100,fy,@). wyrażenie a # @ b # c jest:
  • ✓ równoważne wyrażeniu: a # (@ b # c)
  • ○ niepoprawne
  • ○ równoważne wyrażeniu: a # ((@ b) # c)
  • ✓ równoważne wyrażeniu: a # @ (b # c)
Pytanie 37: Dla definicji operatorów op(100, xfy, ^). oraz op(50, fy, ~). wyrażenie a ^ ~ b ^ c jest:
  • ○ niepoprawne
  • ○ równoważne wyrażeniu: a ^ ~ (b ^ c)
  • ✓ równoważne wyrażeniu: a ^ ((~ b) ^ c)
  • ✓ równoważne wyrażeniu: a ^ (~ b ^ c)
Pytanie 38: Dla definicji operatorów op(100, xfy, #). oraz op(50, xf, @). wyrażenie a # b @ # c jest"
  • ○ niepoprawne
  • ○ równoważne wyrażeniu: (a # b @) # c)
  • ✓ równoważne wyrażeniu: a # ((b @) # c)
  • ○ równoważne wyrażeniu: (a # b) @ # c)
Pytanie 39: Dla definicji operatorów op(100, xfy, ^). oraz op(100, fy, ~). wyrażenie a ^ ~ b ^ c jest:
  • ○ niepoprawne
  • ✓ równoważne wyrażeniu: a ^ ~ (b ^ c)
  • ○ równoważne wyrażeniu: a ^ ((~ b) ^ c)
  • ✓ równoważne wyrażeniu: a ^ (~ b ^ c)
Pytanie 40: Dla definicji operatorów op(100,xfx,^). oraz op(50,xf,~). wyrażenie a ^ b ~ ^ c jest:
  • ○ równoważne wyrażeniu: (a ^ b) ~ ^ c
  • ○ równoważne wyrażeniu: a ^ ((b ~) ^ c)
  • ○ równoważne wyrażeniu: (a ^ b ~) ^ c
  • ✓ niepoprawne
Pytanie 41: Dla definicji operatorów op(100,xfx,^). oraz op(100,fy,~). Wyrażenie a ^ b ~ b ^ c jest:
  • ○ równoważne wyrażeniu: a^ (~b ^ c)
  • ○ równoważne wyrażeniu: a^ ((~b) ^ c)
  • ○ równoważne wyrażeniu: a^ ~ (b ^ c)
  • ✓ niepoprawne
Pytanie 42: Dla definicji operatorów op(100, xfy, #). oraz op(55, xf, ~). wyrażenie a # b ~ # c jest:
  • ○ równoważne wyrażeniu (a # b) ~ # c
  • ○ równoważne wyrażeniu (a # b ~) # c
  • ✓ równoważne wyrażeniu a # (b ~) # c
  • ○ niepoprawne
Pytanie 43: Jakie będą wszystkie możliwe wyniki wykonania niedeterministycznego zapytania: ?- member(X,[a,A,b,B,c,C]), var(X). :
  • ✓ X=A; X=B; X=C; False
  • ○ X=a; False
  • ○ False
  • ○ X=a; X=b; X=c; False
Pytanie 44: Jakie będą wszystkie możliwe wyniki wykonania niedeterministycznego zapytania: ?- member(X,[a,A,b,B,c,C]), nonvar(X). :
  • ✓ X=a; X=b; X=c; False
  • ○ X=A; X=B; X=C; False
  • ○ False
  • ○ X=a; False
Pytanie 45: Jakie będą wszystkie możliwe wyniki wykonania niedeterministycznego zapytania: ?- append([_|_], [X|_], [A,a,B,b,C,c]), var(X). :
  • ○ X=b; X=c; False
  • ✓ X=B, X=C; False
  • ○ X=A; X=B; X=C; False
  • ○ X=a; X=b; X=c; False
Pytanie 46: Jakie będą wszystkie możliwe wyniki wykonania niedeterministycznego zapytania: ?- append([_|_], [X|_], [A,a,B,b,C,c]), nonvar(X). :
  • ○ X=b; X=c; False
  • ○ X=B, X=C; False
  • ○ X=A; X=B; X=C; False
  • ✓ X=a; X=b; X=c; False
Pytanie 47: Które z poniższych zapytań wybiera dowolną parę w dowolnej kolejności dwóch nie tych samych elementów z listy L:
  • ✓ ?- append(P, [X|R],L), append(P,R,Q), append(_,[Y|_],Q).
  • ○ ?- append(_, [X|R],L), append(_,[Y|_],R).
  • ○ ?- append(_, [X,Y|_],L).
  • ○ ?- append(_, [X|_],L), append(_,[Y|_],L).
Pytanie 48: Które z poniższych zapytań wybiera dowolną parę dwóch zupełnie dowolnych elementów (bez ograniczeń kolejnościowych z listy L:
  • ✓ ?- append(_,[X|_],L), append(_,[Y|_],L).
  • ○ ?- append(_,[X|R],L), append(_,[Y|_],R).
  • ○ ?- append(_,[X,Y|_],L).
  • ○ ?- append([X],[_|Y],L).
Pytanie 49: Niech abs oznacza funkcję arytmetyczną, zwracającą wartość bezwzględną liczby. Jaki będzie wynik działania zapytania ?- m([1,-3,8,-5,2,-4],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).
  • ○ X = -4
  • ○ X = -5
  • ✓ X = 8
  • ○ X = 1
Pytanie 50: Niech abs oznacza funkcję arytmetyczną, zwracającą wartość bezwzględną liczby. Jaki będzie wynik działania zapytania ?- m([1,-3,8,-5,2,-4],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).
  • ○ X = -4
  • ○ X = -5
  • ○ X = 8
  • ✓ X = 1
Pytanie 51: 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).
  • ✓ X = -8
  • ○ X = -1
  • ○ X = 5
  • ○ X = 1
Pytanie 52: 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).
  • ○ X = -8
  • ✓ X = -1
  • ○ X = 5
  • ✓ X = 1
Pytanie 53: 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], H>=X, a(X,T).
  • ○ X = -4
  • ○ X = 5
  • ✓ X = -8
  • ○ X = 1
Pytanie 54: 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)). :
  • ✓ X=2; X=3; False
  • ✓ X=3; False
  • ○ X=1; X=2; X=3; False
  • ✓ False
Pytanie 55: 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(3)),assertz(g(2)),assertz(g(1)). ?- retract(g(X)). :
  • ○ X=3; X=2; False
  • ○ X=3; False
  • ○ X=3; X=2; X=1; False
  • ✓ False
  • ✓ X=2; X=1; False
  • ✓ X=1; False
Pytanie 56: 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)). :
  • ○ X=3; X=2; False
  • ○ X=3; False
  • ○ X=3; X=2; X=1; False
  • ✓ False
Pytanie 57: 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)). :
  • ○ X=1; X=2; False
  • ○ X=1; False
  • ○ X=1; X=2; X=3; False
  • ✓ False
Pytanie 58: Które z poniższych zapytań języka Prolog zakończą się spełnieniem celu:
  • ○ ?- atomic("X").
  • ✓ ?- atomic('X').
  • ○ ?- atomic(X).
  • ○ ?- atomic(_x_).
  • ○ ?- atomic(_ma).
  • ✓ ?- atomic('ROK').
  • ○ ?- atomic("kok").
  • ✓ ?- atomic('_').
  • ○ ?- atomic(_).
  • ○ ?- atomic("_").
Pytanie 59: Które z poniższych obiektów języka Prolog są stałymi:
  • ○ "kok"
  • ✓ 'ROK'
  • ○ _ma
  • ○ X
  • ✓ 'x'
  • ○ "x"
  • ✓ x
  • ✓ '_'
  • ✓ 'X'
  • ○ _
  • ○ "_"
  • ○ _x_
Pytanie 60: Stałe Symboliczne w języku Prolog
  • ✓ mają charakter globalnych obiektów języka
  • ○ mają zasięg lokalny ograniczony wyłącznie do jednej reguły
  • ○ mogą występować wyłącznie w zapytaniach albo w klauzulach, będących faktami
  • ○ mają zasięg ograniczony wyłącznie do zbioru klauzul o tym samym nagłówku
Pytanie 61: Łańcuchy znakowe (ang. string) w języku Prolog:
  • ○ mogą występować wyłącznie w zapytaniach albo klauzulach, będących faktami
  • ✓ wymagają użycia ograniczników w postaci znaków apostrofu
  • ○ wymagają użycia ograniczników w postaci znaków cudzysłowu
  • ○ mają zasięg lokalny ograniczony wyłącznie do jednej reguły
  • ✓ zaliczane są do atomów (inaczej: stałych atomowych)
  • ○ wymagają wcześniejszej deklaracji i określenia zasięgu wartości
Pytanie 62: Identyfikator zmiennej w języku Prolog:
  • ○ ma zasięg globalny
  • ✓ jest lokalny względem pojedynczej klauzuli
  • ○ jest definiowany w momencie deklarowania dziedziny wartości zmiennej
  • ○ jest lokalny względem zbioru klauzul o tym samym nagłówku
Pytanie 63: Wartości zmiennej w języku Prolog:
  • ✓ są lokalne względem jednej instancji klauzuli
  • ○ mają charakter globalny
  • ○ muszą być zgodne z zadeklarowanym wcześniej typem wartości
  • ✓ są ustalane w procesie unifikacji (uzgadniania)
Pytanie 64: Atomy w języku Prolog:
  • ✓ obejmują stałe symboliczne oraz łańcuchy znakowe
  • ○ mogą występować wyłącznie w zapytaniach albo w klauzulach będących faktami
  • ✓ mają charakter globalnych obiektów języka
  • ○ mają zasięg lokalny ograniczony wyłącznie do jednej reguły
  • ○ wymagają wcześniejszej deklaracji i określenia zasięgu wartości
Pytanie 65: Jaki będzie wynik wykonania poniższego zapytania: ?- [X|Y]=[d,d,c,b,b,a], bagof(Z^X, member(Z,Y), W).:
  • ○ W=[d^d,c^d,b^d,a^d]; False
  • ○ W=[d^d]; W=[d^d]; W=[c^d]; W=[b^d]; W=[b^d]; W=[a^d]; False
  • ✓ W=[d^d,c^d,b^d,b^d,a^d]; False
  • ○ W=[d^d]; W=[c^d]; W=[b^d]; W=[b^d]; W=[a^d]; False
Pytanie 66: Jaki będzie wynik wykonania poniższego zapytania: ?- [X|Y]=[d,d,c,b,b,a], setof(Z^X, member(Z,Y), W).:
  • ○ W=[a^d]; W=[b^d]; W=[c^d]; W=[d^d]; False
  • ✓ W=[a^d, b^d, c^d, d^d]; False
  • ○ W=[a^d]; W=[b^d]; W=[b^d]; W=[c^d]; W=[d^d]; W=[d^d]; False
  • ○ W=[a^d, b^d, b^d, c^d, d^d, d^d]; False
Pytanie 67: Jaki będzie wynik wykonania poniższego zapytania: ?- [X|Y]=[a,b,c,d], bagof(X#Z, append(_, [Z|_], Y), W).:
  • ○ W=[a#b, b#c, c#d]; False
  • ○ W=[a#b]; W=[b#c]; W=[c#d]; False
  • ✓ W=[a#b]; W=[a#c]; W=[a#d]; False
  • ○ W=[a#b]; False
Pytanie 68: Jaki będzie wynik wykonania poniższego zapytania: ?- [X|Y]=[a,b,c,d], bagof(X^Z, append(_, [Z|_], [X|Y]), W).
  • ○ W=[a^b, a^c, a^d]; False
  • ○ W=[a^b]; W=[a^c]; W=[a^d]; False
  • ○ W=[a^a, a^b, a^c, a^d]; False
  • ✓ W=[a^a]; W=[a^b]; W=[a^c]; W=[a^d]; False
Pytanie 69: Jaki będzie wynik wykonania poniższego zapytania: ?- [X|Y]=[a,b,c,d], findall(X^Z, append(_, [Z,_|_], [X|Y]), W).
  • ○ W=[a^b, c^d]
  • ○ W=[a^a, a^b, a^c, a^d]
  • ○ W=[a^b, a^c, a^d]
  • ✓ W=[a^a, a^b, a^c]
Pytanie 70: Dla następującego programu prologowego: p(N):-N=1; N=2,!; N=3,!. , które z poniższych odpowiedzi są wszystkimi rozwiązaniami dla zapytania ?- p(X),!,p(Y). :
  • ○ X=1 Y=1
  • ○ X=1 Y=1; X=2 Y=2
  • ✓ X=1 Y=1; X=1 Y=2
  • ○ X=1 Y=1; X=1 Y=2; X=1 Y=3
Pytanie 71: 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). :
  • ○ X=1 Y=1
  • ✓ X=1 Y=1; X=1 Y=2; X=1 Y=3
  • ○ X=1 Y=1; X=1 Y=2
  • ○ X=1 Y=1; X=1 Y=2; X=1 Y=3; X=2 Y=1; X=2 Y=2; X=2 Y=3; X=3 Y=1; X=3 Y=2; X=3 Y=3;
Pytanie 72: 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),!. :
  • ○ X=1 Y=1; X=1 Y=2; X=2 Y=1; X=2 Y=2
  • ○ X=1 Y=1; X=2 Y=2
  • ✓ X=1 Y=1
  • ○ X=1 Y=1; X=1 Y=2; X=1 Y=3; X=2 Y=1; X=2 Y=2; X=2 Y=3; X=3 Y=1; X=3 Y=2; X=3 Y=3;
  • ○ X=1 Y=1; X=1 Y=2; X=2 Y=1; X=2 Y=2
Pytanie 73: Dla następującego programu prologowego: p(N):-N=1; N=2; N=3, !. , które z poniższych odpowiedzi są wszystkimi rozwiązaniami dla zapytania ?- !, p(X), p(Y). :
  • ○ X=1 Y=1
  • ○ X=1 Y=1; X=1 Y=2; X=1 Y=3
  • ✓ X=1 Y=1; X=1 Y=2; X=1 Y=3; X=2 Y=1; X=2 Y=2; X=2 Y=3; X=3 Y=1; X=3 Y=2; X=3 Y=3;
  • ○ X=1 Y=1; X=2 Y=2; X=3 Y=3
Pytanie 74: Dla następującego programu prologowego: p(N):-N=1; N=2, !; N=3, !. , które z poniższych odpowiedzi są wszystkimi rozwiązaniami dla zapytania ?- !, p(X), p(Y). :
  • ○ X=1 Y=1
  • ○ X=1 Y=1; X=2 Y=2
  • ✓ X=1 Y=1; X=1 Y=2; X=2 Y=1; X=2 Y=2
  • ○ X=1 Y=1; X=1 Y=2; X=1 Y=3; X=2 Y=1; X=2 Y=2; X=2 Y=3; X=3 Y=1; X=3 Y=2; X=3 Y=3;
Pytanie 75: Dla następującego programu prologowego: p(1):-!. p(2):-!. p(3). ,które z poniższych odpowiedzi są wszystkimi rozwiązaniami zapytania ?- p(X),!,p(Y).:
  • ○ X=1 Y=1; X=2 Y=2
  • ✓ X=1 Y=1
  • ○ X=1 Y=1; X=1 Y=2
  • ○ X=1 Y=1; X=1 Y=2; X=1 Y=3
Pytanie 76: Biorąc pod uwagę następujące definicje: smutny(X) :- not(szczęśliwy(X)). szczęśliwy(X) :- piękny(X), bogaty(X). bogaty(król). bogaty(książe). piękny(książe). piękny(śnieżka).
  • ✓ ?- smutny(król). true
  • ○ ?- smutny(król). false
  • ✓ ?- smutny(śnieżka). true
  • ○ ?- smutny(śnieżka). false
  • ○ ?- smutny(książe). true
  • ✓ ?- smutny(książe). false
  • ✓ ?- smutny(królowa). true
  • ○ ?- smutny(królowa). false
  • ○ ?- smutny(Ktoś). true
  • ✓ ?- smutny(Ktoś). false
  • ✓ ?- smutny(ktoś). true
  • ○ ?- smutny(ktoś). false
Pytanie 77: Do ewaluacji wyrażenia będącego terminem złożonym z funktorem arytmetycznym dochodzi kiedy użyjemy operatora:
  • ○ =
  • ✓ <
  • ✓ =\=
  • ○ ==
  • ✓ =:=
  • ✓ is
Pytanie 78: Która z interpretacji deklaratywnych definicji klauzuli p:-!,a,b. p:-!,c,d. p:-e. jest kompletna i poprawna:
  • ○ p<=> (a ∧ b) ∨ (~a ∧ ~c ∧ e)
  • ○ p<=> (a ∧ b) ∨ (c ∧ d) ∨ e
  • ○ p<=> (~a ∧ b) ∨ (~c ∧ d) ∨ e
  • ✓ p<=> (a ∧ b)
Pytanie 79: 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).
  • ✓ X=1 Y=1; X=1 Y=2; X=1 Y=3
  • ○ X=1 Y=1; X=2 Y=2; X=3 Y=3
  • ○ X=1 Y=1
  • ○ X=2 Y=1; X=2 Y=2; X=2 Y=3;
  • ○ X=3 Y=1; X=3 Y=2; X=3 Y=3
Pytanie 80: Weryfikacja rodzaju termu odbywa się w języku Prolog za pomocą następujących metapredykatów systemowych:
  • ○ functor
  • ✓ var
  • ○ setof
  • ✓ atomic
Pytanie 81: Predykaty użytkownika mogą być argumentami wywołania następujących metapredykatów systemowych:
  • ○ repeat
  • ✓ call
  • ✓ assert
  • ✓ bagof
Pytanie 82: Jakie będą wszystkie możliwe wyniki wykonania zapytania: ?- member(X, [a,A,b,B,c,C]), var(X).
  • ○ X=a; False
  • ✓ X=A; X=B; X=C; False
  • ○ False
  • ○ X=a; X=b; X=c; False
Pytanie 83: Stałe symboliczne w języku Prolog:
  • ○ wymagają wcześniejszej deklaracji i określenia zasięgu wartości
  • ✓ mają charakter globalny
  • ○ mają zasięg lokalny ograniczony do jednej reguły
  • ○ mogą występować wyłącznie w klauzulach będących faktami
Pytanie 84: Jaki będzie wynik wykonania zapytania ?- functor(X,'.',2), arg(1,X,a), arg(2,X,[b]).
  • ✓ X=[a,b]
  • ○ X=[a,b,[]]
  • ○ X=[a|b]
  • ○ X=[a,[b]]
Pytanie 85: 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)).
  • ○ X=3; X=2; X=1; False
  • ✓ X=2; X=1; False
  • ✓ X=1; False
  • ✓ False
Pytanie 86: 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)).
  • ○ X=1; X=2; X=3; False
  • ✓ X=2; X=3; False
  • ✓ X=3; False
  • ✓ False
Pytanie 87: Która z interpretacji deklaratywnych definicji klauzuli p:-!,a,b,!,c. p:-d jest kompletna i poprawna:
  • ○ p<=> (a ∧ b ∧ c) ∨ (~a ∧ ~c ∧ d)
  • ✓ p<=> (a ∧ b ∧ c)
  • ○ p<=> (a ∧ b ∧ c) ∨ (~a ∧ d) ∨ (~c ∧ d)
  • ○ p<=> (~a ∧ ~c) ∨ d
Pytanie 88: 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).
  • ✓ X=1 Y=1; X=1 Y=2; X=1 Y=3
  • ○ X=1 Y=1; X=2 Y=2; X=3 Y=3
  • ○ X=1 Y=1
  • ○ X=1 Y=1; X=1 Y=2; X=1 Y=3;
  • ○ X=2 Y=1; X=2 Y=2; X=2 Y=3;
  • ○ X=3 Y=1; X=3 Y=2; X=3 Y=3
Pytanie 89: Mając na uwadze fakt iż negacja w języku Prolog realizowana jest przez niepowodzenie należy dla reguły postaci: p(A,B) :- not(A=B), f(Z,A), f(Z,B). oraz dwóch faktów: f(a,m). f(a,n). wybrać odpowiedzi będące rezultatem zapytania: ?-p(X,Y).
  • ○ X=m Y=n; False
  • ○ X=m Y=n; X=n Y=m; False
  • ○ X=m Y=m; X=n Y=n; False
  • ✓ False
Pytanie 90: Wartości zmiennych w języku Prolog
  • ✓ są ustalane w procesie unifikacji
  • ○ muszą być zgodne ze zdefiniowanym wcześniej typem wartości
  • ○ mają charakter globalny
  • ✓ są lokalne względem jednej instancji klauzuli
Pytanie 91: Jaki będzie wynik wykonania zapytania ?- functor("f(n,n,n)",F,N).
  • ○ F=’f’ N=3
  • ○ F=’|’ N=3
  • ✓ F=’.’ N=2
  • ○ False
Pytanie 92: Dla następującego programu prologowego: p(N):- N=1; N=2,!; N=3,!. , które z poniższych odpowiedzi są wszystkimi rozwiązaniami dla zapytania ?- p(X),!,p(Y).
  • ○ X=1 Y=1; X=1 Y=2; X=2 Y=2
  • ✓ X=1 Y=1; X=1 Y=2
  • ○ X=1 Y=1; X=1 Y=2; X=1 Y=3;
  • ○ X=2 Y=1; X=2 Y=2; X=2 Y=3;
  • ○ X=3 Y=1; X=3 Y=2; X=3 Y=3
Pytanie 93: Które z poniższych zapytań zakończą się spełnieniem celu:
  • ✓ ?- X=a, Y=a, X==Y.
  • ✓ ?- X=Z, Y=Z, X==Y.
  • ✓ ?- _\==_.
  • ○ ?- X=f(_), Y=f(_), X==Y.
Pytanie 94: 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),!.
  • ○ X=1 Y=1; X=1 Y=2
  • ✓ X=1 Y=1
  • ○ X=1 Y=1; X=1 Y=2; X=2 Y=1; X=2 Y=2
  • ○ X=1 Y=1; X=1 Y=2; X=1 Y=3;
  • ○ X=2 Y=1; X=2 Y=2; X=2 Y=3;
  • ○ X=3 Y=1; X=3 Y=2; X=3 Y=3
Pytanie 95: Która z interpretacji deklaratywnych definicji klauzuli p:-a,!,b,!,c. p:-d jest kompletna i poprawna:
  • ✓ p<=> (a ∧ b ∧ c) ∨ (~a ∧ d)
  • ○ p<=> (a ∧ b ∧ c) ∨ (~a ∧ ~b ∧ d)
  • ○ p<=> (a ∧ b ∧ c) ∨ (~a ∧ d) ∨ (~b ∧ d)
  • ○ p<=> (a ∧ ~b ∧ ~c) ∨ d
Pytanie 96: Jaki będzie wynik wykonywania poniższego zapytania: ?- [X|Y] = [a,b,c,d], bagof(X+Z, append(_,[Z|_], Y), W)
  • ○ W=[a+b]; W=[b+c]; W=[c+d]; False
  • ○ W=[a+b, b+c, c+d]; False
  • ○ W=[a+b]; False
  • ✓ W=[a+b]; W=[a+c]; W=[a+d]; False
Pytanie 97: Jakie będą wszystkie możliwe wyniki wykonania zapytania: ?- append([_|_], [X|_], [A,a,B,b,C,c]), var(X).
  • ○ X=b; X=c; False
  • ○ X=A; X=B; X=C; False
  • ○ X=a; X=b; X=c; False
  • ✓ X=B; X=C; False
Pytanie 98: Jaki będzie wynik wykonania zapytania ?- functor(X, '.', 2), arg(1,X,[a]), arg(2,X,[[b]]).
  • ○ X=[a,b,[]]
  • ○ X=[a,b]
  • ✓ X=[[a],[b]]
  • ○ X=[a,b]