- •2.2.2.1 Вызов Турбо-Пролога и главное меню системы
- •2.2.3 Редактор Турбо-Пролога
- •2.2.3.1 Создание и редактирование программного файла
- •3 Лекция №2. Элементы и конструкции языка Турбо-Пролог
- •3.1 Основные вопросы
- •3.2 Текст лекции
- •3.2.1.1 Имена (идентификаторы)
- •3.2.2.1 Предикаты
- •3.2.2.2 Факты
- •3.2.2.3 Правила
- •3.2.2.4 Цели
- •4 Лекция №3. Объекты данных. Константы, переменные, структуры, списки.
- •4.1 Основные вопросы
- •4.2 Текст лекции
- •Стандартные типы доменов Турбо-Пролога
- •4.2.2.1 Константы
- •4.2.2.2 Переменные
- •4.2.2.3 Структуры
- •4.2.2.3 Списки
- •5 Лекция №4. Структура программы на Турбо-Прологе
- •5.1 Основные вопросы
- •5.2 Текст лекции
- •5.2.2 Структура программы на Турбо-Прологе – до 10 мин.
- •5.2.3.1 Раздел опций компилятора
- •5.2.3.2 Раздел констант
- •5.2.3.3 Раздел доменов
- •5.2.3.4 Раздел предикатов
- •5.2.3.5 Раздел утверждений
- •5.2.3.6 Раздел дбд
- •5.2.3.7 Раздел целей
- •6 Лекция №5. Унификация и поиск с возвратом: программа с фактами
- •6.1 Основные вопросы
- •6.2 Текст лекции
- •7 Лекция №6. Унификация и поиск с возвратом: программа с фактами и правилом
- •7.1 Ключевые (основные) вопросы (моменты)
- •7.2 Текст лекции
- •8 Лекция №7. Унификация и поиск с возвратом: программа с фактами и несколькими правилами
- •8.1 Основные вопросы
- •8.2 Текст лекции
- •9 Лекция №8. Вопросно-ответные системы
- •9.1 Основные вопросы
- •9.2 Текст лекции
- •10 Лекция №9. Средства отладки в Турбо-Прологе
- •10.1 Основные вопросы
- •10.2 Текст лекции
- •/*Программа 5 */
- •11 Лекция №10. Простейший ввод-вывод. Окна.
- •11.1 Основные вопросы
- •11.2 Текст лекции
- •11.2.1 Простейший ввод-вывод
- •11.2.2 Окна
- •12 Лекция №11. Управление поиском решений: предикаты отсечения и возврата
- •12.1 Основные вопросы
- •12.2 Текст лекции
- •/* Программа 5 */
- •Vse_reshenia:-roditel(X,y), write(X, "родитель", y), nl, fail.
- •Vita - родитель sasha
- •/* Программа 6 */
- •/* Программа 7 */
- •13 Лекция №12. Арифметика в Турбо-Прологе. Рекурсия.
- •13.1 Основные вопросы
- •13.2 Текст лекции
- •/* Программа 8 */
- •/* Программа 9 */
- •14 Лекция №13. Динамические базы данных
- •14.1 Основные вопросы
- •14.2 Текст лекции
- •/* Программа работы с дбд*/
- •15 Лекция №14. Работа со списками
- •15.1 Основные вопросы
- •15.2 Текст лекции
- •/* Программа 10*/
- •/* Программа 11 */
- •/* Программа 12 */
- •16 Лекция №15. Экспертные системы
- •16.1 Основные вопросы
- •16.2 Текст лекции
- •/* Программа эс*/
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПРИБОРОСТРЕНИЯ И ИНФОРМАТИКИ»
Кафедра ИТ-4 «Персональные компьютеры и сети»
УТВЕРЖДАЮ
Заведующий кафедрой ИТ4
__________Михайлов Б.М.
«___» ____________ 2007 г.
ЛЕКЦИИ
по дисциплине 1414 Логическое программирование
для студентов 5 курса факультета ИТ
специальности 230101
«Вычислительные машины, комплексы, системы и сети»
Обсуждены на заседании кафедры
«___» _______________ 2007 г.
Протокол № _____
Москва, 2007
1 Общие положения
1.1 Цели дисциплины
Целью дисциплины является изложение основ логического программирования
1.2 Рекомендуемая литература
1.2.1 Основная:
1) Рыжиков Ю.И. Информатика. Лекции и примеры. – Спб.: КОРОНАпринт, 2000. – 256с.
2) Артамонов В.Н., Брякалов Г.А., Гофман В.Э. и др. Основы современных компьютерных технологий.: Учебное пособие. / Под ред. проф. Хомоненко А.Д. – Спб.: КОРОНАпринт, 1998. – 448с.
3) Миронов А.С. Логическое программирование: Учебное пособие. – М.: МГАПИ, 2004. – 46с.
1.2.2 Дополнительная литература:
1) Ин Ц., Соломон Д. Использование Турбо-Пролога. – М.: Мир, 1993. – 608с.
2) Янсон А. Турбо-Пролог в сжатом изложении. – М.: Мир, 1991. – 94с.
2 Лекция №1. Система программирования Турбо-Пролог.
Продолжительность: 2 часа (90 мин.)
2.1 Основные вопросы
- место дисциплины «Логическое программирование» в ряду дисциплин, связанных с программированием;
- основные задачи логического программирования;
- инструментальные средства логического программирования.
2.2 Текст лекции
2.2.1 Основные задачи логического программирования – до 10 мин.
Логическое программирование позволяет использовать исчисление предикатов в качестве инструментальной системы представления и обработки знаний, используемой для создания систем искусственного интеллекта.
Турбо-Пролог – это язык программирования, предназначенный для обработки символьной нечисловой информации. Особенно хорошо он приспособлен для решения задач, в которых фигурируют объекта и отношения между ними.
Само название Пролог есть сокращение, означающее программирование в терминах логики (programming in logic). В силу этого преподавание языка пролог связано как с программированием, так и с формальной логикой, понимаемой как язык представления знаний и механизм их обработки.
Турбо-Пролог является языком декларативного программирования, что существенно отличает его от других языков программирования. Основное внимание при изучении Турбо-Пролога уделяется получению навыков использования встроенного механизма выводов для решения содержательных задач.
2.2.2 Система программирования Турбо-Пролог – до 80 мин.
Система программирования Турбо-Пролог включает в свой состав язык программирования и интегрированную среду для разработки, отладки и выполнения программ.
2.2.2.1 Вызов Турбо-Пролога и главное меню системы
Для вызова Турбо-Пролога необходимо на экране компьютера в каталогах панелей операционной оболочки NC отыскать файл с именем PROLOG.ЕХЕ и нажать клавишу Enter. На экране появится заставка с указанием номера и года выпуска используемой версии системы. Нажав повторно клавишу Enter, увидим на экране главное меню системы (см.рис.1.).
Рис.1. Главное меню системы.
Главное меню Турбо-Пролога содержит четыре окна и две строки. В верхней строке указаны доступные пользователю функции системы в виде шести следующих команд:
FILES - управление файлами;
EDIT - создание и редактирование текста программы;
RUN - компиляция и запуск программы на счет;
COMPILE - компиляция программы;
OPTIONS - опции компилятора;
SETUP - настройка параметров системы в соответствии с индивидуальными потребностями.
Такие функции системы как EDIT и RUN являются непосредственными командами и не содержат каких-либо опций. Остальные функции имеют собственные меню. Выбор необходимой функции можно осуществить следующими способами:
• выделенная буква. Для выбора команды непосредственно из главного меню нажимаем клавишу с выделенной цветом первой буквой в названии команды. Например, F для FILES, Е для EDIT и т.д.;
• выделенная полоса. С помощью клавиш со стрелками вправо и влево передвигаем выделенную цветом полосу на верхней строке главного меню на требуемую команду и затем нажимаем клавишу Enter;
• совместное использование клавиши Alt и первой буквы команды главного меню. Этот способ применяют при отсутствии главного меню на экране компьютера. Например: нажатие Alt-O приводит вас в меню OPTIONS из любого места системы, Alt-E в окно редактирования и т.д.
Для окончания работы с функцией используется клавиша Esc. Главное меню включает четыре окна:
EDITOR - окно редактора;
DIALOG - окно диалога;
MESSAGE - окно сообщений;
TRACE - окно трассировки;
Окно редактора (EDITOR) содержит в верхней части статус-строку с информацией Line 1 и Col 1 указывающей, что курсор находится в первой колонке (Col 1) первой строки (Line 1). В ходе работы с программой значения этих параметров меняются в соответствии с изменением позиции курсора. Далее идет имя принятого по умолчанию рабочего файла WORK.PRO и параметр Indent, который означает режим автоматического выравнивания строк, а параметр Ins (Insert) означает режим вставки.
Диалоговое окно (DIALOG) служит для работы с программой, в исходном тексте которой отсутствует раздел цели. В этом случае Турбо-Пролог, после компиляции программы, активизирует диалоговое окно, и пользователь может с помощью клавиатуры вводить свои запросы (цели) в систему. Кроме того, в диалоговом окне появляются результаты работы той программы, в которой не организован вывод результатов в специально предусмотренные программой окна.
Окно сообщений (MESSAGE) служит для вывода различных сообщений системы в процессе работы с программой. Такие сообщения могут содержать сведения о загружаемом файле, имена предикатов компилируемой в данный момент программы и др.
Окно трассировки (TRACE) позволяет следить за выполнением программы. Для активизации окна трассировки возможны два способа:
1. В исходный текст программы вводится директива TRACE или SHORTTRACE;
2. В процессе компиляции программы включается опция трассировки TRACE в меню команды OPTIONS, в подменю COMPILER DIRECTIVES.
После включения режима трассировки пошаговое выполнение программы осуществляется нажатием клавиши F10. При работе с каким-либо окном Турбо-Пролог фиксирует текущее окно двойными рамками.
Нижняя строка главного меню указывает клавиши, связанные с наиболее часто используемыми функциями системы:
F2 - сохранение файла;
F3 - загрузка файла;
F6 - переключение на другое окно;
F9 - компиляция программы;
Alt-X - выход из системы.