КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Логическое программирование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) решение должно быть правильно относительно данной спецификации. При выполнении данного свойства программа является +частично правильной
|