Главная /
Основы программирования на языке Visual Prolog /
Определение предикатов parent и anc имеет вид: parent(tom, ann). parent(ann, bob). anc(X, Y):- parent(X, Y). anc(X, Z):- parent(X, Z), anc(Z, Y). Сколько решений имеет цель anc(X, Y)?
Определение предикатов parent
и anc
имеет вид:
parent(tom, ann).
parent(ann, bob).
anc(X, Y):- parent(X, Y).
anc(X, Z):- parent(X, Z), anc(Z, Y).
Сколько решений имеет цель anc(X, Y)
?
вопрос
Правильный ответ:
1
2
3
4
Сложность вопроса
51
Сложность курса: Основы программирования на языке Visual Prolog
94
Оценить вопрос
Комментарии:
Аноним
Экзамен прошёл и ладушки. Спасибо за халяуву
18 ноя 2018
Аноним
Кто ищет вот эти вопросы интуит? Это же очень просты вопросы
24 окт 2015
Другие ответы на вопросы из темы программирование интуит.
- # Определение предикатов 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) ?
- # В результате вызова memberIndex_nd(X, I, [1, 2, 3]) переменные X и I последовательно примут следующие значения:
- # Определение предикатов fruit и print имеет вид:fruit(1, apple). fruit(2, pear). print() :- fruit(_, X), write(X), nl, fruit(_, Y), write(Y), nl, fail. print(). Напишите название фрукта, которое будет напечатано третьим в результате вызова цели print():
- # Определение предиката reverse имеет вид:reverse([], L, L). reverse([A | L1], L2, L) :- reverse(L1, [A | L2], L). В результате вызова reverse([1, 2], [3, 4], L) переменная L примет значение
- # Определение предикатов arc, cont и path имеет вид: arc(1, 3). arc(3, 4). cont([X | L], [Z, X | L]):- arc(X, Z), not(isMember(Z, L)). path([[Y | L] | _], Y, [Y | L]). path([P | PL], Y, R):- findall(P1, cont(P, P1), L1), append(PL, L1, PL1), path(PL1, Y, R). Предикат path реализует алгоритм