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

 (2)

 (3)

 (4)


Номер 2
Сколько элементов содержит список [[1, 2, 3, 4]]?

Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 3
Сколько элементов содержит список [[], [], [1], [1, 2], [1, 2, 3, 4]]?

Ответ:

 (1)

 (2)

 (3)

 (4)


Упражнение 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] 




Главная / Программирование / Основы программирования на языке Visual Prolog / Тест 2