- •Якимов с.П. Логическое программирование.
- •Красноярск
- •03.04.06 Г., протокол № 9
- •Содержание
- •Введение
- •1 Введение в логическое программирование
- •2 Основные конструкции логического программирования
- •3 Структура программы на языке Пролог
- •4 Вычислительная модель логических программ
- •5 Управление выполнением программы на языке Пролог
- •5.2Caf– метод (CutAndFail– отсечение и отказ)
- •6 Рекурсивные структуры данных
- •7 Программирование баз данных
- •7.1 Управление встроенной базой данных
- •7.2 Управление внешней базой данных
- •8.1 Основные конструкции логического программирования. Факты и правила(2 часа)
- •Контрольные вопросы
- •8.2 Вычислительная модель логических программ. Логические схемы(4 часа)
- •Контрольные вопросы
- •8.3 Управление выполнением программы на языке Пролог. Оконный интерфейс (4 часа)
- •Контрольные вопросы
- •8.4 Рекурсивные структуры данных. Списки (4 часа)
- •Контрольные вопросы
- •8.5 Программирование баз данных. Базы данных (4 часа)
- •Контрольные вопросы
- •Библиографический список
- •Приложение а Ключевые слова
8.1 Основные конструкции логического программирования. Факты и правила(2 часа)
Цель
Требуется написать программу и реализовать ее на одной из версий языка Пролог
Задачи
Сформулировать постановку задачи.
Написать текст программы.
Сделать подробное описание назначения и использования всех правил, определенных в программе.
Составить несколько контрольных примеров, исчерпывающе отражающих правильность работы программы.
Составить и оформить протоколы работы программы по каждому контрольному примеру.
Ход работы
Как было показано в п. 1, генеалогическое дерево однозначно задается с помощью отношений мужчина,женщина,супруги,ребенок. Используя свою фамилию, имя и отчество в качестве ключа, выберите из таблицы 8.1 понятия и определите для них правила.
Таблица 8.1 – Варианты к лабораторной работе
-
а)сын;
б)дочь;
в)родной брат;
г)родная сестра;
д)сродная сестра;
е)сводная сестра;
ж)сродный брат;
з)сводный брат;
и)братья;
й)сестры;
к)дядя;
л)тетя;
м)племянник;
н)племянница;
о)родители;
п) жена;
р)теща;
с)внук;
т)кузина;
у)дедушка;
ф)бабушка;
х)прадед;
ц)прабабка;
ч)теща;
ш)свекор;
щ)свекровь;
ы)кузен;
э)кузина;
ю)невестка;
я)зять.
Например, если Вы– Бендер Остап Ибрагимович, то Вам необходимо разработать правила для отношений:Б)дочь;е)сводная сестра; н)племянница;д)сродная сестра;е); р)теща;О)родители;с)внук;т)кузина;а)сын;п) жена;И)братья;б); р); а); г)родная сестра; и); м)племянник;о); в)родной брат;и); ч)теща.
Контрольные вопросы
Что такое вопрос в логическом программировании?
Назовите виды вопросов.
Что называется переменной в логическом программировании?
Каковы требования к переменным в Прологе?
8.2 Вычислительная модель логических программ. Логические схемы(4 часа)
Цель
Требуется написать программу и реализовать ее на одной из версий языка Пролог
Задачи
Сформулировать постановку задачи.
Написать текст программы.
Сделать подробное описание назначения и использования всех правил, определенных в программе.
Составить несколько контрольных примеров, исчерпывающе отражающих правильность работы программы.
Составить и оформить протоколы работы программы по каждому контрольному примеру.
Ход работы
Сначала необходимо провести функциональный анализ логических схем. Исходными данными являются значения входных сигналов и таблицы истинности отдельных элементов схемы. Затем требуется составить таблицу истинности для заданной логической схемы. Вариант задания определяется по первым буквам фамилии, имени и отчества. В схемах используются следующие обозначения:
| |||
Повторитель Out= In |
Инвертор Out= НЕ In |
Дизъюнктор Out= In1 ИЛИ In2 |
Конъюнктор Out= In1 И In2 |
Таблица 8.2 – Варианты к лабораторной работе
а) |
б) |
в) |
г) |
д) |
е) |
ё) |
ж) |
з) |
и) |
й) |
к) |
л) |
м) |
н) |
о) |
п) |
р) |
с) |
т) |
у) |
ф) |
х) |
ц) |
ч) |
ш) |
щ) |
э) |
ю) |
я) |