Смекни!
smekni.com

Интерпретатор языка Пролог (стр. 1 из 15)

Аннотация

В рамках данного дипломного проекта разработан интерпретатор языка Пролог с визуальным вводом программы и возможностью работы с универсальными базами данных.

Настоящая пояснительная записка включает в себя описание механизма вывода в языке Пролог и роли логического программирования в развитии вычислительной техники.

Приводится описание разработанного интерпретатора, а также необходимые для работы с ним документа: требования по эксплуатации, руководство по установке, руководство пользователя, тексты программ.

Приводится расчет затрат на разработку программного продукта.

Приводится анализ опасных и вредных факторов, возникающих при эксплуатации программы интерпретатора.

Содержание

Введение.......................................................................................................... 4

1. Исследовательская часть............................................................................. 8

1.1. Роль реляционных языков в развитии вычислительной техники.......... 8

1.2. Основные механизмы дедукции............................................................ 10

1.3. Исчисление предикатов как язык для решения задач.......................... 12

1.3.1 Унификация и принцип резольвенции в исчислении предикатов...... 13

1.3.2. Методы поиска доказательства в исчислении предикатов................ 15

1.3.2.1. Исчисление предикатов при решении задач................................... 15

1.3.2.2. Стратегии перебора......................................................................... 16

1.3.2.3. Стратегии упрощения...................................................................... 17

1.3.2.4. Стратегии очищения........................................................................ 18

1.3.2.5. Формы доказательства с отфильтровыванием предшествующих вершин. 4

1.3.2.6. Стратегии поддерживающего множества......................................... 4

1.3.2.7. Стратегии упорядочения................................................................... 5

1.4. Анализ характеристик существующих интерпретаторов...................... 6

1.5. Необходимость разработки интерпретатора языка Пролог................. 8

1.6. Выбор языка программирования........................................................... 8

2. Конструкторская часть............................................................................. 10

2.1. Синтаксис программ на Прологе в нотации Бэкуса-Наура................. 10

2.2. Общая структура интерпретатора........................................................ 10

2.2.1. Принцип работы предкомпилятора................................................... 11

2.2.1.1. Работа лексического анализатора................................................... 11

2.2.1.2. Синтаксический анализатор............................................................ 12

2.2.1.3. Анализ арифметического выражения............................................. 13

2.2.1.4. Анализ параметров предикатов...................................................... 15

2.2.1.5. Проверка типов параметров............................................................ 15

2.3. Работа интерпретатора.......................................................................... 16

2.3.1. Выполнение обращений к базам данных........................................... 18

2.3.2. Вычисление арифметических выражений.......................................... 19

2.4. Объекты, используемые компилятором и интерпретатором............... 19

2.4.1. Объекты переменных TPrologVariable, TPrologVariables, TPrologVariableList, TPrologVariableStruct.................................................................................... 19

2.5.2. Стандартные функции и предикаты................................................... 21

2.6. Представление Пролог-программы в виде объектов........................... 21

2.7. Основные модули................................................................................... 23

2.8. Демонстрационная программа по выбору конфигурации компьютера. 25

3. Технологическая часть.............................................................................. 28

3.1. Требования по эксплуатации интерпретатора языка Пролог............. 28

3.2. Установка системы................................................................................. 28

3.3. Руководство пользователя программы интерпретатора языка Пролог. 29

3.3.1. Запуск программы.............................................................................. 29

3.3.2. Перечень функций, реализуемых системой....................................... 29

3.3.3. Редактирование Пролог-программы................................................. 29

3.3.4. Запуск программы на Прологе и ее отладка..................................... 34

3.3.5. Работа с меню...................................................................................... 35

3.4. Описание процесса выполнения программы, написанной на языке Пролог. 38

3.5. Общие сведенья об интерпретаторе...................................................... 39

3.6. Особенности работы Пролог-программы с базами данных................ 39

3.7. Описание стандартных предикатов....................................................... 40

3.8. Описание функций.................................................................................. 43

4. Организационно-экономическая часть.................................................... 45

4.1. Расчет затрат на разработку интерпретатора Пролог......................... 45

5. Промышленная экология и безопасность................................................ 47

5.1. Введение................................................................................................. 47

5.2. Анализ характера загрязнения окружающей среды при производстве вычислительной техники............................................................................... 48

5.2.1. Источники загрязнения....................................................................... 48

5.2.2. Очистка воздуха от вредных примесей.............................................. 50

5.3. Анализ влияния опасных и вредных факторов, при эксплуатации программы интерпретатора Пролог................................................................................ 52

5.3.1. Повышенный уровень шума на рабочем месте................................. 53

5.3.2. Опасный уровень напряжения электрической цепи, замыкание которой может произойти через человека............................................................................. 54

5.3.3. Пожарная опасность........................................................................... 55

5.3.4. Повышенный уровень электромагнитных излучений....................... 56

5.3.5 Повышенная яркость света.................................................................. 57

5.3.6. Прямая и отраженная блеклость........................................................ 58

5.3.7. Нарушение микроклимата рабочих помещений............................... 58

5.3.8. Защита от психофизиологических факторов..................................... 59

5.4. Анализ использования защитных экранов для снижения влияния опасных и вредных факторов, во время работы на автоматизированном рабочем месте. 60

5.4.1 Основные функции защитных экранов, необходимые для снижения влияния вредных и опасных факторов, во время работы с программным средством. 60

5.4.1.1. Защита от электростатического и электромагнитного воздействий. 61

5.4.1.2. Защита от рентгеновского излучения............................................. 61

5.4.1.3. Защита от ультрафиолетового излучения...................................... 61

5.4.2. анализ основных типов защитных экранов, которые приемлемы для снижения влияния вредных и опасных факторов, во время с программным средством. 62

5.4.2.1. Сетчатый (частичная защита зрения).............................................. 62

5.4.2.2. Стеклянный двухслойный с заземлением (частичная защита зрения, частичная защита здоровья)......................................................................... 62

5.4.2.3. Стеклянный многослойный с заземлением (полная защита зрения, полная защита здоровья).......................................................................................... 63

5.5. Расчет необходимого звукопоглощения, при работе с АРМ............... 63

Заключение.................................................................................................... 66

Литература.................................................................................................... 67

Приложения................................................................................................... 68

Приложение 1................................................................................................ 68

Приложение 2................................................................................................ 73

Приложение 3................................................................................................ 81

Приложение 4................................................................................................ 87

Введение

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

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

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

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

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

В любой системе экспертных консультаций обязательно должны иметься следующие три компоненты: