База ответов ИНТУИТ

Основы программирования на языке Visual Prolog

<<- Назад к вопросам

Определение предиката member имеет вид:
member(bt(leaf, X, leaf), X).member(bt(L, _, R), X):- member(L, X); member(R, X). 
Сколько решений имеет цель member(bt(bt(leaf, 1, leaf), 2, bt(leaf, 3, leaf)), X) ?

(Отметьте один правильный вариант ответа.)

Варианты ответа
1
0
3
2(Верный ответ)
Похожие вопросы
Определение предиката member имеет вид:
member(bt(_, X, _), X):- !.member(bt(L, _, R), X):- member(L, X); member(R, X). 
Сколько решений имеет цель member(bt(bt(leaf, 1, leaf), 2, bt(leaf, 3, leaf)), X) ?
Определение предиката member имеет вид:
member(bt(_, X, _), X).member(bt(L, _, R), X):- member(L, X); member(R, X). 
Сколько решений имеет цель member(bt(bt(leaf, 1, leaf), 2, bt(leaf, 1, leaf)), X)?
Определение предиката count имеет вид:
count(leaf, 0).count(bt(leaf, _, leaf), 1):- !.count(bt(L, _, R), X):- count(L, Y), count(R, Z), X = Y + Z. 
Какое значение примет переменная X в результате вызова цели count(bt(bt(leaf, 1, leaf), 2, bt(leaf, 1, leaf)), X) ?
Определение предиката count имеет вид:
count(leaf, 0).count(bt(L, _, _), X):- count(L, Y), X = Y + 1. 
Какое значение примет переменная X в результате вызова цели count(bt(bt(leaf, 1, leaf), 2, bt(leaf, 1, leaf)), X) ?
Определение предиката count имеет вид:
count(leaf, 0).count(bt(L, _, R), X):- count(L, Y), count(R, Z), X = Y + Z + 1. 
Какое значение примет переменная X в результате вызова цели count(bt(bt(leaf, 1, leaf), 2, bt(leaf, 1, leaf)), X) ?
Определение предиката member в PIE имеет вид:
member(H, [H | _]).		member(H, [_ | T]):- member(H, T).
Цель L = [_, _], member(1, L) имеет в PIE следующий набор решений:
Определение предиката member имеет вид:
member(H, [H | _]).member(H, [_ | T]) :- member(H, T). 
Сколько решений имеет цель member(X, [2, 3, 4, 5])?
Определение предиката member имеет вид:
member(H, [H | _]):- !.member(H, [ _ | T]) :-  member(H, T). 
Сколько решений имеет цель member(X, [1, 2, 3, 4])?
Определение предикатов tmember и member имеет вид:
tmember(t(X, _), X).tmember(t(_, TL), X):- member(T, TL), tmember(T, X).member(T, [T | _]):- !.member(T, [_ | L]):- member(T, L). 
Сколько решений имеет цель tmember(t(1, [t(2, [t(2, [])]), t(1, [])]), X) ?
Определение предикатов tmember и member имеет вид:
tmember(t(X, []), X).tmember(t(_, TL), X):- member(T, TL), tmember(T, X).member(T, [T | _]).member(T, [_ | L]):- member(T, L). 
Сколько решений имеет цель tmember(t(1, [t(2, [t(2, [])]), t(1, [])]), X) ?