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

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

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

Определение предиката append имеет вид:
 append([], L, L).append([A | L1], L2, [A | L]) :- append(L1, L2, L).
Найти предпоследний элемент списка L = [1, 2, 3, 4, 5] можно с помощью цели

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

Варианты ответа
append(_, [_, X], L)
append(_, [X, _], L)(Верный ответ)
append([X, _], _, L)
append([_, X], _, L)
Похожие вопросы
Определение предиката append имеет вид:
append([], L, L).append([A | L1], L2, [A | L]) :- append(L1, L2, L). 
Какое значение примет переменная L в результате вызова append([1, 2], [2, 3], L)?
Определение предиката append имеет вид:
append([], L, L).append([A | L1], L2, [A | L]) :- append(L1, L2, L). 
Какое значение примет переменная L в результате вызова append(L, [_, 2], [1, 2, 3])?
Определение предиката append имеет вид:
append([], L, L).append([A | L1], L2, [A | L]) :- append(L1, L2, L). 
Какое значение примет переменная L в результате вызова append([1, 2, 3], [], L)?
Определение предиката append имеет вид:
append([], L, L).append([A | L1], L2, [A | L]) :- append(L1, L2, L). 
Сколько решений имеет цель append(L1, L2, [1, 2])?
Определение предиката append имеет вид:
 append([], L, L).append([A | L1], L2, [A | L]) :- append(L1, L2, L).
Сколько решений имеет цель append(L, [_], [1, 2, 3])?
Определение предикатов 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, 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, 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 реализует алгоритм
Определение предиката 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)?
Определение предиката go имеет вид:
go(2):- fail.go(N):- N > 1, write('a'), N1 = N - 1, go(N1).go(_).
Сколько раз будет напечатан символ 'a' в результате вызова цели go(4)?