Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / metod / KOMPLEX1.DOC
Скачиваний:
112
Добавлен:
10.12.2013
Размер:
1.72 Mб
Скачать

53

М. Алексеев, С. Григорьев

Программирование в системе

Пролог-Д

(MS-DOS, MS Windows95/NT)

Миасс 2000

Алексеев Михаил Николаевич, Григорьев Сергей Георгиевич

Программирование в системе Пролог-Д (MS-DOS, Windows95/NT)/ Миасс, 2000 - 54 c.

Книга представляет собой методическое пособие по программированию в системе Пролог-Д для вычислительных машин типа IBM PC, работающих в операционной системе MS-DOS или MS Windows95/NT.

В книге рассмотрены основные методические элементы разработки программ на входном языке системы логического программирования Пролог-Д.

Книга предназначена для преподавателей, учащихся, использующих систему Пролог-Д в своей работе. Она входит в состав программно-методического комплекса по учебнику Бешенков С.А., Гейн А.Г., Григорьев С.Г. "Информатика и информационные технологии" [1].

© М.Н. Алексеев, С.Г. Григорьев, 2000

Содержание

ВВЕДЕНИЕ 4

ГЛАВА 1. Работа с системой Пролог-Д или быстрое начало 7 1. Вариант MS- DOS 7

2. Вариант Windows95/NT 12

3. Запуск системы Пролог-Д 16

ГЛАВА 2. Программы на Прологе-Д - это логично 18

1. Логические основы работы системы Пролог-Д 18

2. Процедурная семантика Пролога-Д или исполнение

программы 26

ГЛАВА 3. Построение баз знаний 28

1. Факты и правила 28

2. Арифметика и другие встроенные предикаты в

Прологе-Д 31

3. Рекурсия 36

4. Графические возможности системы Пролог-Д 40

5. Обработка списков 47

ГЛАВА 4. Особенности работы с системой Пролог-Д 50

1. Комплект поставки системы Пролог-Д 50

2. Запуск системы Пролог-Д 50

3. Программа на Прологе-Д и принципы работы системы 50

4. Различия версий для MS-DOS и MS Windows95/NT 52

Литература 54

ВВЕДЕНИЕ

В русском языке слово "пролог" многозначно. В древности на Руси прологом называли специальный вид дидактической литературы. В наше время, под прологом понимают вступление к литературному произведению. Наконец, существует третье значение этого слова, являющееся аббревиатурой. Оно получено из фразы ПРОграммирование в ЛОГике. На этом значении слова "пролог" мы и остановимся.

Связь между логикой и программированием впервые проявилась в процессе формализации математики. Оказалось, что между вычислениями и доказательствами существует взаимодействие, состоящее в том, что всякое доказательство задает построение или вычисление того объекта, существование которого доказывается. С другой стороны, развитие самого программирования и усложнение реальных программ привели к необходимости формально выразить и доказать их свойства. Для этого используется математическая логика. Концепция логического программирования является следствием сближения логики и программирования. Свое практическое воплощение она получила в языке ПРОЛОГ.

Появившись в начале 70-х годов в качестве экспериментальной разработки лабораторий искусственного интеллекта университетов Марселя и Эдинбурга ПРОЛОГ на протяжении почти десяти лет оставался известным лишь узкому кругу специалистов. Однако, тот факт, что логическое программирование и сам ПРОЛОГ были положены в основу японского проекта ЭВМ пятого поколения, привлек к этому языку всеобщее внимание.

Не будем здесь оценивать перспективность научных проектов прошлого. Главное, что этот язык породил ряд идей, которые привлекли серьезное внимание специалистов в области методики обучения информатики. В конечном счете, все эти работы привели к появлению новой мировоззренческой концепции обучения информатике, основанной на современных идеях философии, системного анализа и логики [2].

Основной принцип использования языка Пролог состоит в том, что нужно подробно, на логически точном языке, описать условие задачи. Решение ее получается в результате определенного рутинного процесса, который исполняется компьютером. В этом заключается принципиальное отличие Пролога от традиционных языков программирования, которые требуют описания того как должен быть вычислен результат, или другими словами, требуют описания процедуры решения задачи. Поэтому, кстати, традиционные языки программирования: Ада, Паскаль, Фортран - принято называть процедурными, а Пролог непроцедурным языком. Система Пролог-Д - реализация концепции логического программирования для учебных персональных ЭВМ.

Текст на Прологе-Д содержит сообщения двух типов: факты и правила. Факт - это синтаксическая конструкция, которая позволяет накапливать информацию, а правило - конструкция, с помощью которой можно делать заключение или вывод. Таким образом факты и правила связывают объекты и отношения между ними.

В качестве объектов, которые связывают правила и факты, могут быть элементы любой природы: целые числа, переменные, графические образы.

Совокупность фактов и правил образуют базу знаний. В отличии от процедурных языков, порядок фактов и правил не имеет, существенного значения для правильности результата, за исключением нескольких случаев, о которых будет сказано особо.

Для запуска системы необходимо задать вопрос. Вопрос- это факт, которому предшествует символ "?". База знаний и вопрос образуют программу на языке Пролог-Д.

Следовательно, программирование на Прологе-Д - это умение создать систему фактов и правил, характеризующих решаемую задачу и умение задать нужный вопрос к этой системе.

Структура книги такова:

В первой главе рассмотрены принципы работы с системой Прологе-Д, редактирование, подготовка информации и запуск системы. Рассмотренные примеры позволяют сразу попробовать систему "в деле", поэтому эта глава имеет подзаголовок или второе название "быстрое начало".

Система Пролог-Д работает под управлением операционной системы MS-DOS и в среде WINDOWS. В книге предусмотрены два раздела посвященные обоим вариантам системы. Разумеется, прежде, чем знакомиться с работой системы Пролог-Ä, необходимо освоить принципы работы c MS-DOS или WINDOWS.

Для того, чтобы познакомиться с принципами работы системы Пролог-Д потребуется вторая глава. Она состоит из двух частей: математические и логические основы Пролог - системы Пролог-Д и процедурная семантика в системе Пролог-Д. Система Пролог-Д функционирует на традиционной ЭВМ или, более точно, машине Фон - Неймана и, следовательно, требует интерпретации на ней "непроцедурности". Раздел, посвященный процедурной семантике системы Пролог-Д тем более необходим, поскольку позволяет пояснить в каких случаях возможно появление неверного результата в следствие изменения последовательности предложений в базе знаний.

Для дальнейшего понимания особенно важна вторая часть, а первую можно для начала и опустить (обратите внимание на подзаголовок "для тех, кто не может без этого"). В принципе этот раздел можно было бы использовать в процессе отдельных факультативных занятий с учащимися. В программу этих занятий можно было бы включить еще и некоторые разделы математической логики, например, исчисление высказываний, исчисление предикатов первого порядка, например, из книги [3].

В третьей главе рассматриваются вопросы построения базы знаний, формализация процесса установления связей между отдельными объектами и формализация отношений между ними на основе примеров. Она состоит из четырех разделов.

Первый раздел - факты и правила - посвящен методике создания баз знаний на Прологе-Д.

Второй раздел посвящен описанию использования встроенных предикатов.

В третьем разделе речь идет о наиболее распространенном приеме логического программирования - рекурсии, а четвертый раздел посвящен графике в системе Пролог-Д. И, наконец, в последнем, пятом разделе описаны способы использования списков в Прологе-Д.

В четвертой главе уточнены особенности работы системы Пролог-Д, приведено формальное описание синтаксиса входного языка системы Пролог-Д, отмечены различия версий MS-DOS и Windows.

Соседние файлы в папке metod