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

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

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

Определение предикатов pet и unif имеет вид:
pet(h(C, N, Pt, D, S), P) = h(C, N, P, D, S):- unif(Pt, P).				unif(X, Y):- X = empty, !; Y = X. 
Вызов <…>, House = pet(h(empty, empty, Pt, empty, empty), P) успешен

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

Варианты ответа
если Pt = empty или P = Pt(Верный ответ)
только если Pt = empty
всегда
только если P = Pt
Похожие вопросы
Пусть грамматика имеет вид: d ::= dd | [(]d[)] | empty, где empty – пустое слово, в квадратных скобках написаны терминальные символы. Укажите те из перечисленных ниже слов, которые из нее выводятся:
Выберите из списка терм и соответствующий ему домен:
  • t(1, t(2, empty, empty), empty)
  • t(nil, 1, t(nil, 2, nil))
  • tree = t(integer, tree*).
  • bintree{Elem} = t(bintree{Elem}, Elem, bintree{Elem}); nil.
  • Определение предикатов min и run имеет вид:
    min(X, Y, X):- X < Y, !.min(X, Y, Y):- X >= Y.run():- min(1, 3, X), write(X), nl, fail; _ = readLine(). 
    Укажите правильное объявление предиката min:
    Начальное значение факта-переменной n равно 0. Определение предикатов fruit и print имеет вид:
    fruit(1, "apple").fruit(2, "pear").		print() :- repeat(), fruit(_, X), write(X), nl, n := n + 1, n = 3, !.print(). 
    Напишите название фрукта, которое будет напечатано последним при вызове цели print():
    Определение предикатов count и count1 имеет вид:
    count(t(X, L), Z):- count1(L, Y), Z = Y + X.count1([], 0).count1([T | _], Z):- count(T, Z). 
    Какое значение примет переменная S в результате вызова цели count(t(1, [t(2, [t(2, [])]), t(1, [])]), S) ?
    Определение предикатов 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 примет значение:
    Начальное значение факта-переменной n равно 0. Определение предикатов fruit и print имеет вид:
    fruit(1, "apple").fruit(2, "pear").		print() :- repeat(), n := n + 1, fruit(_, X), write(X), nl, n = 2, !.print(). 
    Напишите название фрукта, которое будет напечатано последним при вызове цели print():
    Начальное значение факта-переменной n равно 0. Определение предикатов fruit и print имеет вид:
    fruit(1, "apple").fruit(2, "pear").		print() :- repeat(), fruit(_, X), n := n + 1, write(X), nl, n = 4, !.print(). 
    Напишите название фрукта, которое будет напечатано последним при вызове цели print():
    Определение предикатов parent, grandparent и run имеет вид:
    parent("Mary", "Bob").parent("Mary", "Tom").parent("Ann", "Mary").grandparent(X, Y):- parent(X, Z), parent(Z, Y).		run():- grandparent(X, Y), write(X, " - ", Y), nl, fail; _ = readLine(). 
    Предикат parent объявлен в разделе class predicates. Укажите правильное объявление:
    Определение предикатов lang и print имеет вид:
    lang(1, prolog).lang(2, python).lang(3, pascal).print() :- lang(N, L), write(L), nl, fail.print(). 
    Сколько названий языков будет напечатано при вызове цели print()?