Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Структура файла main.pro.






Ограничимся рассмотрением консольных приложений. Этого будет достаточно для того, чтобы продемонстрировать основные принципы логического программирования. Создание и использование визуальных компонент принципиально не отличаются от такового в универсальных объектно-ориентированных языках программирования, таких как Visual C, C# и т. д. с некоторыми отличиями, вытекающими из особенностей логического программирования.

Для создания нового проекта необходимо выбрать пункт меню Project/New. В результате откроется диалоговое окно Project Settings, в котором имеется шесть следующих вкладок: General, Directories, Build Options, Version Information, File Templates и Run Options. При создании консольного проекта диалоговое окно Project Settings нужно заполнить таким образом:

 

General

Project Name: % указать имя проекта

Project Kind: (GUI application,

console application,

DLL) % указать тип создаваемого проекта

Base Directory: % указать директорию, в которой хранятся проекты VP

Sub-Directory: % указать директорию, в которой будет сохранен данный проект

 

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

Запуск консольной программы осуществляется с помощью пункта меню Build/Run in Window.

 

Рассмотри структуру файла main.pro. Первое и предпоследнее выражения в файле имеют вид

 

implement main

end implement main

 

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

 

Раздел open.

Это ключевое слово используется для расширения области видимости класса. Оно должно быть помещено вначале кода класса, сразу после ключевого слова implement (с именем класса и, возможно именем интерфейса).

 

Раздел constants.

Это ключевое слово используется для обозначения секции кода, которая определяет неоднократно используемые значения, применяемые в коде. Например, если строковый литерал " PDC Prolog" предполагается использовать в различных местах кода, тогда можно единожды определить мнемоническое (краткое, легко запоминаемое слово) для использования в таких местах:

constantspdc=" PDC Prolog".

Заметьте, что определение константы завершается точкой (.). В отличие от переменных Пролога константы должны начинаться со строчной буквы (нижний регистр).

 

Раздел domains.

В этом разделе задаются типы, которые не являются стандартными. К стандартным типам относятся типы: real, integer, char, string, symbol:

integer – целые числа;

real – вещественные числа;

char – одиночный символ, заключенный в двойные кавычки;

string – любая последовательность букв и цифр, заключенная в двойные кавычки;

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

 

Раздел class facts.

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

 

Раздел class predicates.

В этом разделе объявляются предикаты, т.е. имя предиката, типы его аргументов и их количество (арность). Для каждого из аргументов нужно указывать, является ли он входным или выходным. Входной аргумент, т.е. тот, с помощью которого предикат принимает данные, указывается с помощью символа i (input), а выходной, т.е. тот, через которые предикат возвращает вычисленное выражение, указывается с помощью символа o (output). Если для аргументов предиката не предполагается разграничение направлений входа-выхода, т.е. предполагается постановка запросов, в которых один и тот же аргумент может быть как входным так и выходным, то нужно использовать ключевое слово anyflow.

Для каждого из предикатов нужно указывать режимы детерминированности предиката, т.е. указывать, имеет ли он единственное решение или может иметь много решений.

Возможны следующие режимы:

Determ

Выполнение детерминированного предиката может завершиться либо неудачно (fail), либо успешно (succeed) и при этом иметь одно решение.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал