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

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

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

Определение предикатов arc и path имеет вид:
arc(1, 2). arc(1, 3).arc(3, 4).path([X | L], X, [X | L]).path([X | L], Y, P):- arc(X, Z), not(isMember(Z, L)), path([Z, X | L], Y, P). 
В результате вызова цели path([1], 4, P) переменная P примет значение:

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

Варианты ответа
[1, 3, 4]
[4, 3, 2, 1]
[1, 2, 3, 4]
[4, 3, 1](Верный ответ)
Похожие вопросы
Определение предикатов arc, cont и path имеет вид:
arc(1, 2).arc(1, 3).arc(3, 4).arc(2, 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([[1]], 4, P) .
Определение предикатов arc и path имеет вид:
arc(1, 3).arc(3, 4).path([X | L], X, [X | L]).path([X | L], Y, P):- arc(X, Z), not(isMember(Z, L)), path([Z, X | L], Y, P). 
Предикат path реализует алгоритм
Определение предикатов 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(L1, PL, PL1),path(PL1, Y, R). 
Предикат path реализует алгоритм
Определение предикатов 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 реализует алгоритм
Определение предикатов arc и path имеет вид:
arc(1, 2). arc(1, 3).arc(2, 4).arc(3, 4).path([X | L], X, [X | L]).path([X | L], Y, P):- arc(X, Z), not(isMember(Z, L)), path([Z, X | L], Y, P). 
Сколько решений имеет цель path([1], 4, P) ?
Определение предиката count имеет вид:
count(L1, L2) = length(filter(L1, {(X):- isMember(X, L2)})). 
Какое значение примет переменная L в результате вызова цели L = count([1, 2, 3], [3, 2, 5])?
Определение предиката g имеет вид:
g(0, R, R):- !.g(X, C, R):- X1 = X - 1, C1 = 2 * C + 1, g(X1, C1, R). 
Какое значение примет переменная Y в результате вызова цели g(2, 2, Y)?
Определение функции f имеет вид:
f(0, R) = R:- !.f(X, C) = f(X - 1, C * C - 2). 
Какое значение примет переменная Y в результате вызова цели Y = f(2, 2)?
Определение предиката g имеет вид:
g(0, R, R):- !.g(X, C, R):- X1 = X - 1, C1 = C * 2, g(X1, C1, R). 
Какое значение примет переменная Y в результате вызова цели g(2, 3, Y)?
Определение предиката g имеет вид:
g(0, R, R):- !.g(X, C, R):- X1 = X - 1, C1 = 3 * C, g(X1, C1, R). 
Какое значение примет переменная Y в результате вызова цели g(2, 1, Y)?