Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Логическое программирование




1.1)Язык программирования Пролог более удобен, чем процедурные языки программирования, в следующих областях применения:

+решение уравнений в аналитическом виде

+решение задач в области математической логики

+экспертные системы

 

1.2)Укажите все правильные утверждения о следующей программе на языке Пролог:

марка(автомобиль,'Волга'). %1

нравится(джо,автомобиль). %2

нравится(X,Y). %3

?-нравится(джо,пиво). %4

+ 'марка' является именем отношения

 

2.1) Операция с типом yfx является

+левоассоциативной

2.2) Логическая операция И в языке Пролог записывается как

,

 

2.3) Комментариями в языке Пролог являются

+ текст между символами /* и */

+ текст после символа % до конца строки

 

2.4)Операция с типом xfy является

+правоассоциативной

 

2.5)Операция с типом fxy является

+указанный тип недопустим

 

2.6)Логическая операция ИЛИ в языке Пролог записывается как

;

 

2.7) Конструкция "если A то B иначе C" в языке Пролог записывается как

+(A,B;not(A),C)

 

3.1) Атомами в языке Пролог являются

 

+'Иванов И.И.'

+&

+x1

 

3.2)Число аргументов функтора у структуры или предиката называется

+арность

 

3.3)Список [1,2,3] интерпретируется в Прологе как структура вида

+ '.'(1,'.'(2,'.'(3,[])))

 

3.4)Переменными в языке Пролог являются

+Zero

+_12

 

3.5)Строка "abc" интерпретируется в Прологе как

+список [97,98,99]

 

4.1)Какой ответ получится при выполнении запроса ?-f(a,X)==f(a,Y).

+no

 

4.2)Какой ответ получится при выполнении запроса ?-X=a,Y=b,X\=Y.

+ X=a, Y=b

yes

 

4.3) Какой ответ получится при выполнении запроса ?-X=Y.

+X=Y

 

4.4) Какой ответ получится при выполнении запроса ?-X==Y.

+no

 

4.5) ?-2*2=:=4.

+yes

 

4.6) Какой ответ получится при выполнении запроса ?-X is 2*2.

+X=4

yes

 

4.7) ?-X=Y, X\=Y. %1

?-X\=Y. %2

+оба no

 

4.8) Какой ответ получится при выполнении запроса ?-X=Y,X==Y.

+yes

 

4.9) ?-X=2*2.

+X=2*2.

 

5.1)животное(медведь).

животное(слон).

животное(кот).

черный(кот).

коричневый(медведь).

серый(слон).

 

Запрос

?-not(черный(X)),животное(X).

 

даст первым ответ

+X=медведь

 

5.2) Правило

сестра(X,Y):-женщина(X), родитель(Z,X), X\=Y, родитель(Z,Y). Неправильно так как

+переменная Y может быть неконкретизирована на момент согласования цели X\=Y

 

5.3) Подстановка на место каждой переменной некоторого терма, позволяющая сделать равными два терма, называется

+унификатор

 

5.4)Укажите верные утверждения

+В Прологе есть возможность просмотреть все возможные конкретизации переменных в цели-запросе, делающих цель истинной.

+ При поиске правила, голова которого сопоставима с целью в запросе, программа просматривается сверху вниз.

 

6.1) Предикат member с определением

member(X,[X|L]).

member(X,[H|T]):-member(X,T).

 

можно использовать для:

+получения всех элементов из списка по очереди

+проверки принадлежности элемента списку

 

6.2) Предикат delete1 с определением

delete1(X,[X|L],L).

delete1(X,[H|T],[H|L]):-delete1(X,T,L).

можно использовать для

+вставки заданного значения в список

+проверки принадлежности элемента списку

+получения всех вариантов удаления одного элемента из списка

+удаления заданного значения из списка

 

6.3) Предикат append с определением

append([],L,L).

append([H|L1],L2,[H|L3]):-append(L1,L2,L3).

можно использовать для

+проверки принадлежности элемента списку

+получения всех вариантов разделения заданного списка на два

+разделения заданного списка на две части, одна из которых известна

+сцепления двух списков

 

7.1) Какой ответ получится при выполнении запроса ?-atomic(***).

+ yes

 

7.2) Какой ответ получится при выполнении запроса ?-integer(23).

+yes

 

7.3) Какой ответ получится при выполнении запроса ?-number(23).

+ yes

 

7.4) Какой ответ получится при выполнении запроса?-X=23,var(X).

+ no

 

7.5) Какой ответ получится при выполнении запроса ?-atom(X).

+no

 

7.6) Какой ответ получится при выполнении запроса ?-atom('23').

+yes

 

7.7) Какой ответ получится при выполнении запроса ?-X=23,nonvar(X).

+X=23 yes

 

7.8) Какой ответ получится при выполнении запроса ?-atom(<-->).

+yes

 

7.9) Какой ответ получится при выполнении запроса ?-float(2.3).

+yes

 

8.1) Какой ответ получится при выполнении запроса ?-[f,a,b]=..X.

+ X = ['.', f, [a, b]].

 

8.2) Какой ответ получится при выполнении запроса ?-arg(2,[x,y,z],A).

+A=[y,z]

 

8.3) Какой ответ получится при выполнении запроса ?-functor(x*2+y,F,N).

+F='+', N=2

 

8.4) Какой ответ получится при выполнении запроса ?-arg(2,x*y+z,A).

A=z

8.5) Какой ответ получится при выполнении запроса ?-functor([a,b,c],F,N).

+ F='.', N=2

 

8.6) Какой ответ получится при выполнении запроса ?-X=..[f,a,b].

+X=f(a,b)

 

8.7) Укажите все предикаты для обработки структур

arg

retract

functor

findall

assert

 

9.1) В каких случаях использования отсечения можно от него избавиться, изменив программу:

+подтверждение правильности выбора правила

+ прекращение доказательства цели, если она является заведомо ложной

 

9.2) Пусть БД о родственных связях содержит факты вида мужчина(_), женщина(_), родитель(_,_), и известно, что все люди в БД женаты не более одного раза и у женатых есть не менее одного потомка. Отношение муж можно определить следующим образом:

муж(X,Y):-мужчина(X), родитель(X,Z), женщина(Y), родитель(Y,Z).

 

но данное определение дает ненужные множественные решения. Для исправления данного недостатка нужно поставить отсечение (выбрать ближайшую позицию к голове правила)

+после четвертой цели в теле правила

 

10.1) Предикат seen выполняет следующие действия:

+закрывает текущий входной поток и переключается на интерактивный ввод данных (с клавиатуры)

 

10.2)?-display("abc"). Указанный запрос выведет следующий ответ

+.(97, .(98, .(99, [])))

 

10.3)Предикат seen выполняет следующие действия:

+закрывает текущий входной поток и переключается на интерактивный ввод данных (с клавиатуры)

 

10.4)Встроенными предикатами для ввода-вывода в Прологе являются:

+get

+display

+tab

 

10.5)?-display([a,b,c]). Указанный запрос выведет следующий ответ +.(a, .(b, .(c, [])))

 

11.1) Предикат assert добавляет новое утверждение

+в конец БД

 

11.2) Для печати всех утверждений для предиката с именем name и арностью 2 нужно ввести запрос

?-__________(name/2).

+listing

 

11.3) Для удаления из БД утверждения, сопоставимого с термом X нужно использовать запрос

?-X=функтор(_),___________ (X).

+retract

 

11.4)Для получения тела Y правила с головой X нужно использовать запрос

?-X=функтор(_),__________ (X,Y).

+clause

 

12.1)Предикат setof(X,P,L) порождает список L всех объектов X, удовлетворяющих цели P. Кроме того (укажите правильные утверждения):

+ список L не содержит повторяющихся элементов

+список L отсортирован в лексикографическом порядке

+если нет ни одного решения, то согласование цели завершается неудачей

 

12.2)Предикат bagof(X,P,L) порождает список L всех объектов X, удовлетворяющих цели P. Кроме того (укажите правильные утверждения):

+если нет ни одного решения, то согласование цели завершается неудачей

 

12.3) Предикат findall(X,P,L) порождает список L всех объектов X, удовлетворяющих цели P. Кроме того (укажите правильные утверждения):

+ в список L попадают значения X для любых конкретизаций тех переменных в P, которых нет в X

+ если нет ни одного решения, то возвращается пустой список L

 

13.1) Событие FAIL

+фиксирует момент, когда попытка согласовать цель с БД заканчивается неудачей

 

13.2) Событие REDO

+фиксирует момент, когда система возвращается к цели, пытаясь повторно согласовать ее с БД

 

13.3) Событие EXIT

+ фиксирует момент, когда некоторая цель только что согласована с БД

 

13.4)Событие CALL

+ фиксирует момент начала попытки Пролог-системы согласовать цель с БД

 

14.1) Для доказательства невыполнимости формулы A1∧...∧Am∧B формулу приводят к

+сколемовской конъюнктивной нормальной форме

 

14.2)После замены переменных, связанных квантором ∃, на сколемовские константы или функции формула ∃x∀y∀z∃u P(u,x,y,z) приобретет вид

+∀y∀z P(f(y,z),a,y,z)

 

14.3) После замены переменных, связанных квантором ∃, на сколемовские константы или функции формула ∃x∀y∃z∀u P(u,x,y,z) приобретет вид

+∀y∀u P(u,a,y,f(y))

 

15.1) Критерий верификации (укажите правильные утверждения):

+управление C является исчерпывающим

+программа (P,G) определяет конечное пространство вычислений

+из спецификации S выводимо множество определений P

+множество определений P является полным

 

15.2)Каждое вычисляемое программой (P,G) решение должно быть правильно относительно данной спецификации, и все решения, приписываемые запросу G спецификацией, должны быть вычислимы с помощью программы. При выполнении данного свойства программа является

+ полностью правильной

 

15.3)Критерий верификации (укажите правильные утверждения):

Логический алгоритм (P,G,C) является полностью правильным, если

+множество определений P является полным

+программа (P,G) определяет конечное пространство вычислений

+управление C является исчерпывающим

+из спецификации S выводимо множество определений P

 

15.4)Каждое решение, приписываемое запросу G спецификацией, должно быть вычислимо с помощью программы (P,G). При выполнении данного свойства программа является

+полной

 

15.5)С помощью программы (P,G) вычисляется, по крайней мере, одно решение. При выполнении данного свойства программа является

+разрешимой

 

15.6) Каждое вычисляемое программой (P,G) решение должно быть правильно относительно данной спецификации. При выполнении данного свойства программа является

+частично правильной

 


Поделиться:

Дата добавления: 2015-09-14; просмотров: 126; Мы поможем в написании вашей работы!; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Логические системы управления в АСУТП | Лабораторна робота. „Локомотивний транспорт“
lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты