Главная /
Основы программирования на языке Пролог
Основы программирования на языке Пролог - ответы на тесты Интуит
Курс посвящен изучению основ языка логического программирования Пролог. Общие принципы программирования на Прологе изучаются всюду без привязки к конкретной реализации.
Список вопросов:
- # Программируя в императивном стиле, программист должен ответить на вопрос:
- # Программируя в декларативном стиле, программист должен ответить на вопрос:
- # С компьютерами какого поколения нам сейчас приходится работать:
- # Как правило, исходный текст программы на Прологе по сравнению с исходным текстом программы на императивном языке по размеру:
- # Как правило, время разработки программы на Прологе по сравнению со временем разработки программы на императивном языке:
- # Как правило, программу на Прологе по сравнению с программой на императивном языке понимать и отлаживать:
- # Подходит ли Пролог для быстрой разработки прототипов прикладных программ?
- # Подходит ли Пролог для проведения больших объемов вычислений?
- # Подходит ли Пролог для разработки систем автоматического доказательства теорем?
- # В основу проекта ЭВМ какого поколения был положен Пролог?
- # Наиболее близки к человеческому мышлению
- # Пролог относится к
- # Наиболее популярный в Европе язык искусственного интеллекта это
- # Наиболее популярный в США язык искусственного интеллекта это
- # Наиболее популярный в Японии язык искусственного интеллекта это
- # Можно ли было при описании "деревянного" домена использовать вместо идентификатора tree, какой-нибудь другой идентификатор?
- # Можно ли было при описании "деревянного" домена использовать вместо функтора tr, употребленного нами, какой-нибудь другой функтор?
- # Можно ли было при описании "деревянного" домена использовать вместо идентификатора empty, употребленного нами для обозначения пустого дерева, какой-нибудь другой идентификатор?
- # В ориентированном графе дуга представляет собой:
- # Может ли быть у графа несколько корневых вершин?
- # Может ли быть у вершины дерева несколько предков?
- # Высота дерева tr(3,tr(1,empty,tr(2,empty,empty)),tr(5,empty,empty)) равна:
- # Крона дерева tr(3,tr(1,empty,tr(2,empty,empty)),tr(5,empty,empty)) состоит из вершин:
- # Является ли дерево tr(3,tr(1,empty,tr(2,empty,empty)),tr(5,empty,empty)) двоичным справочником?
- # Может ли быть у дерева несколько корневых вершин?
- # Может ли быть у вершины графа несколько предков?
- # В неориентированном графе дуга представляет собой:
- # В результате вызова предиката tree_length(tr(3,tr(1,empty,tr(2,empty,empty)),tr(5,empty,empty)),X) переменная X будет означена:
- # В результате вызова предиката tree_sum(tr(3,tr(1,empty,tr(2,empty,empty)),tr(5,empty,empty)),X) переменная X будет означена:
- # В результате вызова предиката tree_list(tr(3,tr(1,empty,tr(2,empty,empty)),tr(5,empty,empty)),X) переменная X будет означена:
- # Можно ли использовать предикат frontchar для того, чтобы приписать символ в начало строки?
- # Можно ли использовать предикат frontstr для того, чтобы соединить две строки?
- # Предикат isname будет истинным, если строка, указанная в качестве его единственного параметра, представляет собой:
- # В результате выполнения цели char_count("мама",'м',N) переменная N будет конкретизирована значением:
- # В результате выполнения цели count_digit("1 и 9 мая",N) переменная N будет конкретизирована значением:
- # В результате выполнения цели str_pos('а',"мама",N) переменная N будет конкретизирована значением:
- # Сколько имеется вариантов использования предиката frontstr?
- # Можно ли использовать предикат str_len для получения строки, содержащей заданное количество символов?
- # В результате выполнения цели str_pos('п',"мама",N) переменная N будет конкретизирована значением:
- # В результате выполнения цели char_count("мама",'п',N) переменная N будет конкретизирована значением:
- # В результате выполнения цели count_digit("мама мыла раму",N) переменная N будет конкретизирована значением:
- # Можно ли использовать предикат concat для того, чтобы соединить две строки?
- # Можно ли использовать предикат frontstr для того, чтобы разделить исходную строку на две подстроки?
- # Если означить первый аргумент предиката str_list строкой, состоящей из одного пробела, то второй аргумент будет конкретизирован:
- # Какое из устройств является стандартным устройством вывода информации по умолчанию?
- # Какое из устройств является стандартным устройством ввода информации по умолчанию?
- # Какое из устройств является стандартным устройством вывода информации об ошибках, по умолчанию?
- # Выполнение подцели filepos(f,3,1) приведет к смещению позиции чтения/записи;
- # Выполнение подцели filepos(f,3,2) приведет к смещению позиции чтения/записи:
- # Выполнение подцели filepos(f,3,0) приведет к смещению позиции чтения/записи:
- # Для того чтобы открыть файл на дозапись в конец служит предикат:
- # Для того чтобы открыть файл одновременно на чтение и запись служит предикат:
- # Для того чтобы открыть файл на запись служит предикат:
- # Для чтения строки из файла служит предикат:
- # Для чтения целого числа из файла служит предикат:
- # Для чтения символа из файла служит предикат:
- # Можно ли использовать предикат filemode для того чтобы узнать в каком режиме (бинарном или текстовом) обрабатывается файл?
- # Можно ли использовать предикат filemode для того чтобы изменить режим отсчитывания позиции для предиката filepos (от начала файла, от конца файла или от текущей позиции)?
- # Можно ли использовать предикат filemode для того чтобы установить режим работы с файлом (бинарный или текстовой)?
- # Можно ли сохранить факты, размещенные в динамической базе данных, на диске?
- # Обработка данных, размещенных во внутренней базе данных, по сравнению с обработкой данных, размещенных во внешней базе данных, происходит:
- # Емкость внутренней базы данных ограничена сверху:
- # Может ли раздел описания предикатов внутренней базы данных быть безымянным?
- # Может ли быть в программе несколько разделов описания предикатов внутренней базы?
- # Можно ли разместить во внутренней базе данных Турбо Пролога правила?
- # Предикат retract служит для удаления из внутренней базы данных:
- # Для добавления факта в начало внутренней базы данных служит предикат:
- # Нельзя использовать для добавления факта в конец внутренней базы данных предикат:
- # Емкость внешней базы данных ограничена сверху:
- # Может ли быть в программе несколько безымянных разделов описаний предикатов внутренней базы данных?
- # Предикат retractall служит для удаления из внутренней базы данных:
- # Могут ли факты внутренней базы данных Турбо Пролога содержать свободные переменные?
- # Могут ли факты внутренней базы данных Турбо Пролога содержать анонимную переменную?
- # Возможно ли изменить сохраненную в файл внутреннюю базу данных, средствами обычного текстового редактора?
- # Какие из перечисленных ниже объектов используются при конструировании термов?
- # В правиле резолюции контрарными литералами называются:
- # Что такое литерал?
- # Первая подстановка является более общей, чем вторая, если:
- # Хорновский дизъюнкт содержит положительных литералов:
- # В правиле резолюции резольвируемыми называются:
- # Правило состоит:
- # Факт состоит:
- # Вопрос состоит:
- # Формула в конъюнктивной нормальной форме состоит из:
- # Формула в сколемовской нормальной форме не содержит:
- # Формула представлена в предваренной нормальной форме, если вынесены в ее начало все:
- # Обязательно ли завершается за конечное число шагов метод резолюций в случае, если исходное множество дизъюнктов невыполнимо?
- # Логическая программа завершается успехом в случае, если:
- # Обязательно ли метод резолюций завершается за конечное число шагов?:
- # Правило - это предложение, которое состоит
- # Факт - это предложение, которое состоит
- # Вопрос - это предложение, которое состоит
- # Свободная переменная - это переменная, которая
- # Можно ли поменять значение связанной переменной?
- # Область действия неанонимной переменной в Прологе:
- # При рассмотрении процедурной модели программы порядок подцелей в предложении и условиях предложений в процедуре:
- # Отсечение предназначено для того, чтобы:
- # Если убрать "зеленое" отсечение, то программа
- # Если убрать "красное" отсечение, то программа
- # При рассмотрении декларативной модели программы порядок подцелей в предложении и предложений в процедуре:
- # Связанная переменная - это переменная, которая
- # В программе на Прологе вместо ":-" можно писать
- # В программе на Прологе вместо "," можно писать
- # Имя предиката может начинаться
- # Нужно ли в теле правила, определяющего шаг рекурсии, указывать в качестве подцели определяемый предикат?
- # Какой из алгоритмов, в общем случае, требует больше оперативной памяти?
- # Какие из алгоритмов проще с логической точки зрения:
- # Оптимизация, после которой рекурсия будет использовать столько же оперативной памяти, сколько и итерация, возможна для
- # Обязательно ли должно быть предложение, реализующее шаг рекурсии, в рекурсивной процедуре?
- # Сколько базисов рекурсии должно быть в рекурсивной процедуре?
- # Отношение называется транзитивным, если
- # Одно отношение называется транзитивным замыканием другого отношения, если
- # Следует избегать использования
- # Что, скорее всего, произойдет, если удалить предложение, реализующее базис рекурсии?
- # Левосторонняя рекурсия плоха тем, что она
- # Что, скорее всего, произойдет, если удалить предложение, реализующее базис рекурсии?
- # В результате выполнения предиката fib(2,X) переменная X будет означена числом
- # В результате выполнения предиката fib_fast(3,X,Y) переменные X и Y получат значения:
- # В результате выполнения предиката fact(4,X) переменная X будет означена числом
- # Может ли в программе быть несколько разделов описаний предикатов?
- # Может ли в программе быть несколько разделов описаний внутренней цели?
- # Раздел описания доменов соответствует в императивных языках программирования:
- # Можно ли в качестве значения для переменной типа symbol использовать последовательность символов английского алфавита, не заключенную в кавычки?
- # Возможно ли в разделе описания предикатов PREDICATES наличие нескольких описаний одного предиката?
- # Быстрее выполняются и используют меньше оперативной памяти:
- # Предикаты, осуществляющие преобразование типов, имеют:
- # Если аргументом предиката bound является свободная переменная, то он:
- # Может ли программа, не содержащая внутренней цели, быть скомпилирована в исполняемый файл?
- # Можно ли не описывать в разделе описания предикатов предикат, реализованный в разделе описания предложений?
- # Можно ли, в разделе описания констант использовать в качестве первого символа имени константы прописной символ?
- # Можно ли, в разделе описания предложений использовать в качестве первого символа имени константы прописной символ?
- # Подцель, размещенная в теле правила после предиката fail:
- # Бэктрекинг реализует:
- # Откат происходит в то место программы, указатель на которое находится:
- # Откат происходит в тот момент, когда:
- # Стек точек возврата освобождается в тот момент, когда
- # В случае наличия в программе раздела внутренней цели Турбо Пролог находит:
- # Можно ли в методе отката после неудачи обойтись без использования стандартного предиката FAIL?
- # Относится ли предикат repeat к стандартным (встроенным) предикатам?
- # Метод отсечения и отката:
- # Метод повтора, определяемый пользователем:
- # В стек точек возврата помещается указатель на то место программы, в котором:
- # При откате к точке возврата связанные переменные, означенные после нее:
- # Результат вычисления текущей подцели выводится (в окне трассировки) после:
- # О неудачной попытке вычислить текущую подцель информирует (в окне трассировки):
- # О наличии у текущей подцели альтернативных решений (в окне трассировки) индицирует:
- # Количество элементов списка ограничивается:
- # Могут ли в Турбо Прологе элементы списка принадлежать разным доменам?
- # Можно ли в Турбо Прологе разместить в одном списке объекты разной природы (например, строки и целые числа)?
- # Хвост списка - это:
- # Можно ли представить пустой список в виде [H|T]:
- # Двухэлементный список [1,2] не унифицируется со списком:
- # Возможно ли унифицировать списки [1,2] и [3|X]
- # В результате унификации списков [1,2,3,4] и [X,Y|Z] переменные получат следующие значения:
- # Можно ли унифицировать списки [1] и [1|X]?
- # Является ли конструкция [[1,2], [3], [], []] списком?
- # Является ли конструкция [[1,2], 3] списком?
- # Могут ли элементы списка быть, в свою очередь, списками?
- # Могут ли элементы списка быть составными объектами?
- # Можно ли унифицировать списки [] и [1]?
- # Принадлежит ли число 2 списку [[1,2,3],[4,5]]?
- # При выполнении предиката sum([1,2,3],X) переменная X будет означена числом:
- # При выполнении предиката min_list([1,2,3],X) переменная X будет означена числом:
- # При выполнении предиката avg([1,2,3],X) переменная X будет означена числом:
- # Можно ли модифицировать алгоритм сортировки выбором так, чтобы он был основан на выборе максимального элемента списка и приписывании его в конец?
- # В алгоритме сортировкипо возрастанию перестановками предикат permutation выполняет перестановку двух соседних элементов в случае, если:
- # Алгоритм сортировки вставками основан на размещении:
- # Алгоритм пузырьковой сортировки основан на:
- # Алгоритм сортировки Хоара основан на:
- # Алгоритм сортировки фон Неймана основан на:
- # В результате выполнения предиката permutation([3,2,1],L) переменная L будет означена списком:
- # В результате выполнения предиката insert(2,[1],L) переменная L будет означена списком:
- # В результате выполнения предиката partition([1,2,3],2,L1,L2) переменные L1 и L2 получат значения:
- # В результате выполнения предиката splitting([1,2,3],L1,L2) переменные L1 и L2 получат значения:
- # Можно ли реализовать предикат avg без использования предикатов summa и length?
- # Можно ли реализовать предикат min_list без использования предиката min?
- # Изменится ли результат, если в предикате, реализующем симметрическую разность, поменять местами первый и второй аргументы?
- # Изменится ли результат, если в предикате, реализующем разность, поменять местами первый и второй аргументы?
- # Изменится ли результат, если в предикате, реализующем пересечение, поменять местами первый и второй аргументы?
- # Объединением множеств [1,2] и [2,3] будет множество:
- # Симметрической разностью множеств [1,2] и [2,3] будет множество:
- # Разностью множеств [1,2] и [2,3] будет множество:
- # Будет ли множество [1,2,3] собственным подмножеством множества [2,1,3]?
- # Будет ли множество [1,2,3] подмножеством множества [2,1,3]?
- # Будет ли множество [1,2,3] совпадать со множеством [2,1,3]?
- # Будет ли истинным предикат member3(2,[1,2,3])?
- # Будет ли истинным предикат member3(2,[1,3])?
- # Будет ли истинным предикат list_set([1,2,1,1,2],[1,2])?
- # В результате выполнения предиката supp([1,2,3,4,5],L) переменная L будет означена списком:
- # Изменится ли результат, если в предикате, реализующем объединение, поменять местами первый и второй аргументы?
- # Если взять дополнение к дополнению множества, то получится: