Главная / Программирование /
Основы программирования на языке 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]