Смекни!
smekni.com

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

PredicateConstrFormUnit - модуль описания конструктора предикатов TPredicateConstrForm;

EditorFormUnit - модуль описания окна редактора TEditorForm

ConsoleUnit - модуль описания окна консоли TConsole;

ErrorsFormUnit - модуль описания окна ошибок компиляции TErrorsForm;

StackFormUnit - модуль описания окна стека программы TStackForm;

RunTimeDebugFormUnit - модуль описания окна отладки программы TRunTimeDebugForm;

BreakPointsFormUnit - модуль описания окна контрольных точек TBreakPointsForm;

ProjectOptionsFormUnit - модуль описания окна опций проекта.

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

На вход программы с клавиатуры поступают задачи, которые должен будет решать выбираемый компьютер. По полученным данным программа выбирает оптимальную конфигурацию для заданного набора задач (тип процессора, частоту процессора, объем оперативной памяти, размер видеопамяти, минимальный размер винчестера, диагональ монитора, а также список дополнительный устройств, таких как звуковые карты, CD-ROM приводы и прочее).

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

База данных базовых конфигураций ("Configs.db"), в которой содержатся оптимальные конфигурации для каждой из элементарных задач.

Таблица 2.1.

Имя поля Тип поля Комментарий
Task String[33] Название задачи
Frequency Integer[4] Частота процессора
Processor String[17] Тип процессора
Memory Integer[4] Размер ОЗУ
VideoMemory Integer[4] Размер видеопамяти
HDD Integer[4] Размер винчестера
MonitorSize Integer[4] Диагональ монитора
Addition1Name String[17] Название 1-го дополнительного устройства
Addition1Value String[9] Характеристика 1-го дополнительного устройства
Addition2Name String[17] Название 2-го дополнительного устройства
Addition2Value String[9] Характеристика 2-го дополнительного устройства
Addition3Name String[17] Название 3-го дополнительного устройства
Addition3Value String[9] Характеристика 3-го дополнительного устройства
Addition4Name String[17] Название 4-го дополнительного устройства
Addition4Value String[9] Характеристика 4-го дополнительного устройства

База приоритетов устройств ("DeviceClass.db"). Используется для разделения устройств по их характеристикам, в том числе и процессоров.

Таблица 2.2.

Имя поля Тип поля Комментарий
TypeName String[17] Имя класса устройств
SubType String[33] Имя отдельного устройства
SubTypeIndex Real Характеристика устройства

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

Пара предикатов ReadParameters и _ReadParameters предназначены для ввода списка элементарных задач с клавиатуры в список строк StringList.

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

AddNewAddition добавляет в списки дополнительных устройств новое устройство. Сначала предикат пытается найти устройство среди уже известных. Если оно не найдено, то добавляется новое устройство. Если среди уже известных устройств имеется устройство аналогичного типа, то из двух устройств выбирается устройство с наивысшим классом по базе DeviceClass.

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

Текст демонстрационной программы приведен в приложении.

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

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

Программа интерпретатора языка Пролог предназначена для эксплуатации на персональных вычислительных машинах на базе процессоров семейства Pentium и выше в минимальной конфигурации с 16 Мб оперативной памяти. Для установки программы необходимо:

· в минимальной конфигурации - 1.5 Мб дискового пространства;

· в полной конфигурации (с установкой Borland Database Engine) - 10 Мб дискового пространства.

В качестве операционной системы может использоваться Microsoft Windows 95, Windows 98, Windows NT.

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

Система поставляется на четырех дискетах размером 3.5" и объемом 1.44 Мб.

Установка программы производится с дискет, путем запуска из операционной системы Windows файла "Setup.exe", находящегося на первой дискете. Далее необходимо действовать согласно указаниям.

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

В процессе установки программа спросит, устанавливать ли Borland Database Engine на машину или нет. Если BDE уже установлена на компьютер ранее, то повторная установка не требуется.

По завершении процесса установки программа-инталлятор создаст в системном меню раздел с названием "Prolog", а внутри него ярлык на файл "Prolog.exe" с названием "Prolog with databases", ярлык на help-файл и на файл "readme.txt".


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

Пролог

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

Запуск программы можно произвести несколькими способами.

Нажать кнопку "Пуск", выбрать в меню пункт "Программы", выбрать пункт "Prolog". После того, как раскроется подменю, нажать на строку "Prolog with databases".

Дважды щелкнуть по иконке Пролога на рабочем столе

Воспользоваться "проводником" или другим менеджером файлов.

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

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

1. ввод, сохранение и редактирование программы на языке Пролог.

2. осуществление отладочного режима работы с просмотром вызовов предикатов и значений переменных.

3. запуск программы на исполнение

4. возможность приостановки работающей программы на контрольной точке, установленной в тексте программы, или при нажатии кнопки "Пауза".

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

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

Интегрированная среда разработчика предоставляет разработчику следующие возможности:

1. создание нового файла программы;

2. открытие существующего файла программы;

3. сохранение файла;

4. сохранение файла под новым именем;

5. выход из системы;

6. редактирование файла с использованием буфера обмена;

7. настройку параметров программы Пролог;

8. настройку редактора;

9. запуск программы на исполнение;

10. временную остановку работы программы;

11. доступ к файлу справки.

Все эти возможности доступны через пункты меню или через кнопки быстрого доступа.

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

Рис 3.1. Вид главного окна.

Программу необходимо в двух окнах: в окне редактора и в окне инспектора.

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

Рис 3.2. Вид окна инспектора.


Окно инспектора разбито на три части: "Типы", "Внешние данные" и "Предикаты". В случае надобности разделы "Типы" и "Внешние данные" можно временно свернуть, нажав на верхнюю кнопку соответствующей панели.

Для добавления элемента в список типов необходимо нажать на кнопку с изображением плюса. Тогда справа от кнопки появится меню для выбора типа: "Список", "Структура", "Составной тип". Для каждого типа открывается окно конструктора типов, в котором можно редактировать составные элементы типов. При нажатии на кнопку "Ок" тип будет занесен в список типов. Для внесения нового элемента в тип необходимо выбрать его из списка, ввести комментарий (если необходимо) и нажать на кнопку плюс на нижней панели

а) б)

Рис. 3.3. Вид окна конструктора типов: а) конструктор списков;

б) конструктор структур

При добавлении описания базы данных появляется окно для ввода структуры базы данных. В этом окне необходимо ввести имя базы данных в поле "Имя". Это имя будет использоваться в программе. Также необходимо ввести, либо выбрать из списка имя файла базы данных. Имя базы данных, которое будет использоваться в программе, и имя файла могут отличаться. Для внесения поля в базу данных необходимо выбрать тип поля из списка, ввести его длину, а также его имя в базе данных и нажать на кнопку плюс на нижней панели. Если база данных уже существует, то ее структуру можно ввести, нажав на кнопку "Поля таблицы" на нижней панели (вторая справа). Тогда появится окно, в котором будет список из полей базы данных. Можно будет выбрать те поля, с которыми будет работать программа. При нажатии на кнопку "Ок" выбранные поля будут внесены в список.