Главная / Программирование /
Основы программирования на языке Visual Prolog / Тест 2
Основы программирования на языке Visual Prolog - тест 2
Упражнение 1:
Номер 1
Конкретизированная переменная – это переменная, которая
Ответ:
 (1) не имеет никакого значения 
 (2) имеет какое-то значение 
 (3) получает значение при инициализации 
 (4) может иметь значение, может не иметь значения 
Номер 2
Свободная переменная унифицируется
Ответ:
 (1) только с другой свободной переменной 
 (2) с любым предикатом 
 (3) только с простым термом 
 (4) с любым термом 
Номер 3
Анонимная переменная
Ответ:
 (1) принимает определенное значение 
 (2) принимает любое значение 
 (3) не принимает никакого значения 
 (4) принимает значение терма, с которым унифицируется 
Упражнение 2:
Номер 1
Не унифицируется пара термов
Ответ:
 (1) t(a, b, k(c)) и t(a, b, _) 
 (2) t(a, b, k(c)) и t(a, b, k(a)) 
 (3) t(a, b, k(c)) и t(X, Y, Z) 
 (4) t(a, b, k(c)) и t(_, _, _) 
Номер 2
Являются унифицируемыми термы
Ответ:
 (1) t(a, r(b, c)) и t(a, b, c) 
 (2) t(a, r(b, c)) и t(X, r(Y)) 
 (3) t(a, r(b, c)) и t(a, X) 
 (4) t(a, r(b, c)) и t(X, p(b, c)) 
Номер 3
Наибольший общий унификатор термов t(X, r(a, b), X) и t(X, r(Y, b), b) равен:
Ответ:
 (1) X = a, Y = b 
 (2) X = Z, Y = T 
 (3) X = Z, Y = a 
 (4) Y = a, X = b  
Упражнение 3:
Номер 1
Программа имеет вид:
male(tom).
male(bob).
parent(ann, tom).
Укажите порядок нахождения решений для цели parent(X, Y); male(Y)
1) Y = tom
2) Y = bob
3) X = ann,Y = tom
Ответ:
 (1) 1, 2, 3 
 (2) 3, 2, 1 
 (3) 3, 1, 2 
 (4) 2, 1, 3 
Номер 2
Программа имеет вид:
female(ann).
female(mary).
male(tom).
male(bob).
Укажите порядок нахождения решений для цели male(X); female(X)
1) X = ann
2) X = mary
3) X = tom
4) X = bob
Ответ:
 (1) 3, 4, 1, 2 
 (2) 4, 3, 2, 1 
 (3) 1, 2, 3, 4 
 (4) 2, 1, 4, 3 
Номер 3
Программа имеет вид:
likes(ann, books).
likes(tom, baseball).
male(tom).
male(bob).
Укажите порядок нахождения решений для цели male(Y); likes(X, Y)
1) Y = bob
2) Y = tom
3) X = tom,Y = baseball
4) X = ann,Y = books
Ответ:
 (1) 1, 2, 3, 4 
 (2) 4, 3, 2, 1 
 (3) 3, 4, 1, 2 
 (4) 4. 2, 1, 4, 3 
Упражнение 4:
Номер 1
Определение предикатов friend и h имеет вид:
friend(person(ann, 19), phone(1112233)).
friend(person(bob, 18), phone(1112233)).
friend(person(kate, 19), phone(4445566)).
h(X) :- friend(person(X, 19), _), friend(person(Y, 18), _), X > Y.
Напишите ответ на запрос h(X):
Ответ:
 (1) bob 
 (2) 19 
 (3) kate 
 (4) person 
Номер 2
Определение предикатов friend и h имеет вид:
friend(person(ann, 19), phone(1112233)).
friend(person(bob, 18), phone(1112233)).
friend(person(kate, 19), phone(4445566)).
h(X) :- friend(person(X, _), Z), friend(person(Y, _), Z), X > Y.
Напишите ответ на запрос h(X):
Ответ:
 (1) bob 
 (2) 19 
 (3) kate 
 (4) person 
Номер 3
Определение предикатов friend и h имеет вид:
friend(person(ann, 19), phone(1112233)).
friend(person(bob, 18), phone(1112233)).
friend(person(kate, 19), phone(4445566)).
h(X) :- friend(person(X, Y), _), friend(person(Z, Y), _), X < Z.
Напишите ответ на запрос h(X):
Ответ:
 (1) bob 
 (2) kate 
 (3) ann 
 (4) person 
Упражнение 5:
Номер 1
Определение предиката p имеет вид:
p([parent(robert, jackson)]).
p([parent(ann, smith), parent(thomas, smith)]).
Напишите ответ на запрос p([_, parent(_, X)]):
Ответ:
 (1) smith 
 (2) robert 
 (3) thomas 
 (4) jackson 
Номер 2
Определение предиката p имеет вид:
p([father(robert, jackson)]).
p([mother(ann, smith), father(thomas, smith)]).
Напишите ответ на запрос p([father(_, X) | _]):
Ответ:
 (1) smith 
 (2) robert 
 (3) thomas 
 (4) jackson 
Номер 3
Определение предиката p имеет вид:
p([parent(robert, black)]).
p([parent(ann, smith), parent(thomas, smith)]).
Напишите ответ на запрос p([parent(X, smith), _]).
Ответ:
 (1) ann 
 (2) robert 
 (3) black 
 (4) thomas 
Упражнение 6:
Номер 1
Определение предикатов likes и male выглядит следующим образом:
male(peter).
male(bob).
likes(peter, bycicle).
Напишите решение для цели male(Y), not(likes(Y, _)):
Ответ:
 (1) peter 
 (2) bob 
 (3) bycicle 
Номер 2
Определение предикатов married и female выглядит следующим образом:
married(tom, mary).
female(mary).
female(ann).
Напишите решение для цели female(X), not(married(_, X)):
Ответ:
 (1) mary 
 (2) ann 
 (3) tom 
Номер 3
Вызов цели not(parent(X, _)) завершается успехом, если цель parent(X, _)
Ответ:
 (1) имеет хотя бы одно решение 
 (2) не имеет решений 
 (3) имеет ровно одно решение 
 (4) имеет более одного решения 
Упражнение 7:
Номер 1
Определение предикатов male и parent имеет вид:
male(tom).
male(bob).
parent(tom, mary).
parent(tom, ann).
Одинаковое ли количество решений имеют цели male(X), parent(X, _) и male(X), not(not(parent(X, _))):
Ответ:
 (1) одинаковое 
 (2) не одинаковое 
 (3) одна из этих целей не имеет смысла в Прологе 
 (4) одна из этих целей не имеет решений 
Номер 2
Определение предикатов male и parent имеет вид:
male(tom).
male(bob).
parent(tom, mary).
parent(tom, ann).
Рассмотрим цели not(parent(X, _)), male(X) и male(X), not(parent(X, _)). Отметьте правильное утверждение:
Ответ:
 (1) они имеют одинаковый набор решений 
 (2) одна из них имеет два решения, а другая не имеет решений 
 (3) одна из них имеет решение, а другая не имеет 
 (4) одна из них имеет два решения, а другая одно решение 
Номер 3
Определение предикатов male и parent имеет вид:
male(tom).
male(bob).
parent(tom, mary).
parent(ann, tom).
Рассмотрим цели parent(X, _), not(not(male(X))) и not(not(male(X))), parent(X, _). Отметьте правильное утверждение:
Ответ:
 (1) они имеют одинаковый набор решений 
 (2) одна из них имеет решение, а другая не имеет  
 (3) одна из них имеет два решения, а другая не имеет решений 
 (4) одна из них имеет два решения, а другая одно решение 
Упражнение 8:
Номер 1
Сколько элементов содержит список [[1, 2], [2, 3]]?
Ответ:
 (1) 4 
 (2) 3 
 (3) 2 
 (4) 1 
Номер 2
Сколько элементов содержит список [[1, 2, 3, 4]]?
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Номер 3
Сколько элементов содержит список [[], [], [1], [1, 2], [1, 2, 3, 4]]?
Ответ:
 (1) 7 
 (2) 4 
 (3) 3 
 (4) 5 
Упражнение 9:
Номер 1
Список [_] унифицируется:
Ответ:
 (1) с любым списком 
 (2) с пустым списком 
 (3) со списком [1] 
 (4) с любым непустым списком 
Номер 2
Укажите все списки, с которыми унифицируется список [_, 2 | _]:
Ответ:
 (1) [1, 2, 3, 4] 
 (2) [2] 
 (3) [5, 2] 
 (4) [[1], [2]] 
Номер 3
Список [_, _] унифицируется:
Ответ:
 (1) со списком [[1], [2]] 
 (2) с пустым списком 
 (3) с любым списком 
 (4) с любым непустым списком 
Упражнение 10:
Номер 1
С каким списком не унифицируется список [1, 2]?
Ответ:
 (1) [1, 2 | []] 
 (2) [1 | [2]] 
 (3) [1 | [2 | []]] 
 (4) [[1], [2]] 
Номер 2
Укажите все списки, с которыми унифицируется список [_, _ | _]?
Ответ:
 (1) [[1], [2], [3], [4]] 
 (2) [1] 
 (3) [1, 2] 
 (4) [1, 2, 3] 
 (5) [] 
Номер 3
В результате унификации списков [1, 2, 3] и [X, Y | Z] переменные получат значения
Ответ:
 (1) X = 1, Y = 2, Z = 3 
 (2) X = 1, Y = [2], Z = 3 
 (3) X = 1, Y = 2, Z = [3] 
 (4) X = 1, Y = [2], Z = [3]