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

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

Упражнение 1:
Номер 1
Логическое программирование в широком смысле это:

Ответ:

 (1) программирование на хорновских дизъюнктах 

 (2) описание задачи на некотором логическом языке и ее решение посредством вывода в некоторой формальной системе 

 (3) набор инструкций определенного алгоритма из логики высказываний 

 (4) набор инструкций определенного алгоритма из логики предикатов 


Номер 2
Логическое программирование в узком смысле это:

Ответ:

 (1) программирование на хорновских дизъюнктах 

 (2) описание задачи на некотором логическом языке и ее решение посредством вывода в некоторой формальной системе 

 (3) набор инструкций определенного алгоритма из логики высказываний 

 (4) набор инструкций определенного алгоритма из логики предикатов 


Номер 3
В основу стандарта языка Пролог положен синтаксис

Ответ:

 (1) Visual Prolog 

 (2) Turbo Prolog 

 (3) Edinburgh Prolog 

 (4) Planner 


Упражнение 2:
Номер 1
Факт – это

Ответ:

 (1) правило без заголовка 

 (2) правило без тела 

 (3) любое правило программы 

 (4) любое логическое высказывание 


Номер 2
Запрос – это

Ответ:

 (1) любое правило программы 

 (2) любой факт 

 (3) правило без заголовка 

 (4) правило без тела 


Номер 3
Программа на языке Пролог – это последовательность

Ответ:

 (1) правил 

 (2) конъюнктов 

 (3) логических высказываний 

 (4) запросов 


Упражнение 3:
Номер 1
Программа имеет вид:
		
likes(mary, books).
likes(bob, mary).
likes(bob, books).
 
		Напишите решение, которое имеет цель likes(X, mary):
		

Ответ:

 (1) mary 

 (2) bob 

 (3) books 


Номер 2
Программа имеет вид:
		
parent(bob, peter).
parent(ann, peter).
parent(peter, mary).
 
			Напишите значение, которое примет переменная X при вызове parent(X, mary)?
		

Ответ:

 (1) bob 

 (2) peter 

 (3) ann 

 (4) mary 


Номер 3
Программа имеет вид:
		
parent(bob, peter).
parent(ann, bob).
parent(peter, mary).
 
			Напишите значение, примет переменная X при вызове parent(ann, X)?
		

Ответ:

 (1) mary 

 (2) bob 

 (3) ann 


Упражнение 4:
Номер 1
Программа имеет вид:
		
parent(ann, peter).
parent(ann, mary).
parent(tom, X) :- parent(ann, X).
 
			Сколько решений имеет цель parent(tom, X)?

Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 2
Программа имеет вид:
		
parent(bob, X):- parent(ann, X).
parent(ann, peter).
parent(peter, mary).
 
			Сколько решений имеет цель parent(X, peter)?

Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 3
Программа имеет вид: 
parent(bob, peter).
parent(bob, X):- parent(ann, X).
parent(bob, mary).
Сколько решений имеет цель parent(bob, X)?

Ответ:

 (1)

 (2)

 (3)

 (4)


Упражнение 5:
Номер 1
Отношение likes определяется следующим образом:likes(bob, X) :- likes(ann, X).
likes(ann, books).
likes(tom, ann).
 Укажите весь набор значений, которые примет переменная X в результате вычисления запроса likes(_, X)?

Ответ:

 (1) books  

 (2) books; ann 

 (3) books; books; ann 

 (4) bob; ann; tom 


Номер 2
Отношение likes определяется следующим образом:
likes(ann, books).
likes(tom, ann).
likes(bob, X) :- likes(ann, X).
 Укажите весь набор значений, которые примет переменная X в результате вычисления запроса likes(X, _)?

Ответ:

 (1) ann; tom; bob; ann  

 (2) ann; tom; bob 

 (3) ann; tom 

 (4) ann 


Номер 3
Определение предиката parent имеет вид:
		parent(tom, mary).
		parent(ann, tom).
 Отметьте все решения для цели parent(X, _), parent(_, Y):

Ответ:

 (1) X = tom, Y = mary  

 (2) X = tom, Y = tom 

 (3) X = tom, Y = ann 

 (4) X = ann, Y = mary 

 (5) X = ann, Y = ann 

 (6) X = ann, Y = tom 


Упражнение 6:
Номер 1
Определение отношения parent имеет вид
		parent(ann, tom).
		parent(bob, ann).
 	Обратное отношение к отношению parent можно определить следующим образом:

Ответ:

 (1) child(X, Y) :- parent(Y, X) 

 (2) child(X, Y) :- parent(X, Z), parent(Z, Y) 

 (3) child(X, Y) :- parent(X, Y) 

 (4) child(X, Y) :- parent(X, Y); parent(Y, X) 


Номер 2
Отношение married определяется в виде:
		married(tom, mary).
married(bob, ann).
 Симметричное замыкание отношения married можно определить следующим образом:
		

Ответ:

 (1) spouses(X, Y) :- married(X, Y), married(Y, X) 

 (2) spouses(X, Y) :- married(X, Y); married(Y, X) 

 (3) spouses(X, Y) :- married(X, Z), married(Z, Y) 

 (4) spouses(X, Y) :- married(X, Z); married(Y, Z) 


Номер 3
Определение отношения father (отец) имеет вид:
		father(peter, tom).
		father(tom, bob).
 Отношение grandfather (дедушка) можно определить следующим образом:

Ответ:

 (1) grandfather(X, Y) :- father(X, Y); father(Y, X) 

 (2) grandfather(X, Y) :- father(X, _), father(_, Y) 

 (3) grandfather(X, Y) :- father(X, Z); father(Z, Y) 

 (4) grandfather(X, Y) :- father(X, Z), father(Z, Y) 


Упражнение 7:
Номер 1
Отношение likes определяется в виде:
likes(bob, X) :- likes(ann, X).
likes(ann, books).
likes(tom, ann).
 	Вариантом правила likes(bob, X) :- likes(ann, X) является правило

Ответ:

 (1) likes(tom, X) :- likes(ann, X) 

 (2) likes(bob, Z) :- likes(ann, Z) 

 (3) likes(bob, books) :- likes(ann, books) 

 (4) likes(Z, X) :- likes(Y, X) 


Номер 2
Результат применения подстановки {X = bob} к формуле f(X, ann, X) равен

Ответ:

 (1) f(bob, ann, X) 

 (2) f(X, bob, X) 

 (3) f(X, ann, bob) 

 (4) f(bob, ann, bob) 


Номер 3
Отношение likes определяется в виде:
		
likes(bob, X) :- likes(ann, X).
likes(ann, books).
likes(tom, ann).
 Основным примером правила likes(bob, X) :- likes(ann, X) является правило
		

Ответ:

 (1) likes(bob, books) :- likes(ann, books) 

 (2) likes(tom, X) :- likes(ann, X) 

 (3) likes(ann, X) :- likes(bob, X) 

 (4) likes(bob, ann) :- likes(ann, books) 


Упражнение 8:
Номер 1
Эрбранов универсум логической программыlikes(bob, X) :- likes(ann, X).
likes(ann, books).
 	выглядит следующим образом:

Ответ:

 (1) {bob, ann, books, likes(bob, books), likes(ann, books)} 

 (2) {bob, ann, books} 

 (3) {likes(bob, books), likes(ann, books)} 

 (4) {bob, ann, books, X} 


Номер 2
Эрбранов базис логической программы
animal(X) :- bird(X).
animal(zebra).
bird(swan).
 выглядит следующим образом:

Ответ:

 (1) {animal(swan), bird(swan), animal(zebra), bird(zebra)} 

 (2) {swan, zebra} 

 (3) {animal(X), bird(X), bird(swan), animal(zebra)} 

 (4) {animal(swan), bird(swan), animal(zebra)} 


Номер 3
Декларативное значение логической программы
animal(X) :- bird(X).
animal(zebra).
bird(swan).
 Имеет вид:

Ответ:

 (1) {animal(swan), bird(swan), animal(zebra), bird(zebra)} 

 (2) {swan, zebra} 

 (3) {animal(X), bird(X), bird(swan), animal(zebra)} 

 (4) {animal(swan), bird(swan), animal(zebra)} 




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