русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Основы программирования.


Дата добавления: 2013-12-23; просмотров: 1255; Нарушение авторских прав


Интерфейс Turbo Prolog.

Система программирования Turbo Prolog.

1. Система программирования Turbo Prolog включает в свой состав:

интегрированную среду для разработки, отладки и выполнения логических программ - язык логического программирования Turbo Prolog.

Рассмотрим коротко интерфейс интегрированной среды и основы программирования в этой среде на языке Turbo Prolog.

2. Рассматриваемая версия системы логического программирования Turbo Prolog 2.0 работает под управлением DOS и имеет стандартизованный программный интерфейс. Главное меню интегрированной среды системы включает в свой состав следующие меню и команды:

- Files (Файл)

- Edit (Правка)

- Run (Выполнение)

- Compile (Компиляция)

- Options (Параметры)

- Setup (Настройка).

Дадим краткую характеристику команд, указанных в меню.

Меню File содержит следующие команды управления файлами программ на Prolog:

- Load (Загрузка файла)

- Pick (Загрузка файла)

- New file (Создание файла)

- Save (Сохранение) ;

- Write to (Сохранение с новым именем)

- Directory (Вывод текущего каталога)

- Change dir (Смена каталога)

- OS shell (Временный выход в DOS)

- Exit (Выход)

Команда Editслужит для переключения в режим редактирования исходного текста программы на языке Prolog.

Команда Run запускает процесс компиляции и выполнения текущей исходной программы на языке Turbo Prolog.

Меню Compile содержит следующие команды управления компиляцией:

- Memory (компиляция программы с размещением в оперативке)

- OBJ file (Компиляция с созданием объектного файла)

- EXE file (auto link) (построение файла EXE)

- Project (Создание проекта)

- Link only (Редактирование связей файла объектной программы OBJ)

- Link options (Параметры редактирования связей)



- Edit PRJ file (Правка файла проекта)

- Compiler directives (Директивы компилятора)

Меню Setupсодержит следующие команды настройки системы:

- Color (Изменение цвета)

- Windows size (Изменение размеров окон)

- Directories (Управление каталогами)

- Miscellaneous (Параметры внешних устройств)

- Load SYS file (Загрузить файл. SYS)

- Save SYS file (Сохранить файл .SYS)

 

3. В нижней части диалогового окна системы программирования Turbo Prolog содержится строка подсказки о назначении функциональных клавиш. Справочная помощь системы вызывается нажатием клавиши F1. Алфавит языка Turbo Prolog включает следующие символы:

1. Прописные и строчные буквы латинского алфавита.

2. Цифры (0 – 9)

3. Спец. символы: @,!; #; $, <&, ( ); |,Л;"; -; +, /, <; >;;,,; ?,.; \, _;', ~.

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

1. Имена символических констант и имена предикатов должны начинаться со строчной буквы.

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

В качестве вмени переменной в предикатах может использоваться знак подчеркивания, такая переменная - анонимная.Применяется это в случаях, когда значение переменной безразлично для Prolog-программы. К ключевым (служебным) словамв языке Turbo Prolog относятся следующие слова:

and clauses constants database
domains elsedef enddef global
goal if if ifdef ifndef
include or predicates

Правила программирования в системе Prolog.

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

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

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

Домены подразделяются на простые и структурированные, стандартные и нестандартные.К стандартным доменам относятся:

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

string - строка символов: любая последовательность символов, заключенная в двойные кавычки.

char - отдельный символ, заключенный в апострофы.

integer - целое число в диапазоне от -32768 до 32767.

feat - действительное число, допускается обычная и экспоненциальная форма записи, значение экспоненты должно быть от е-307 до е308.

Объявление новых доменов с использованием стандартных имеет вид: <Имя>=<Имя стандартного домена>.

 

Примеры объявлений:

Domains

а = integer

fas = symbol

ret, das = real

Такие объявления новых доменов улучшают читабельность программы и обеспечивают контроль типов значений переменных - смешивать в ходе выполнения программы переменные разных типов (доменов) нельзя.

Кроме стандартных видов доменов, Turbo Prolog допускает использование структуры домена,состоящей из нескольких простых или сложных объектов. Объявление структуры имеет следующий вид:

<структура> = <имя структуры> (<D1>, <D2>.., <Dn>)

Здесь <имя структуры> называется функтором,а домены <D1>,<D2>,.,., <Dn> - это либо простые домены, либо имена ранее объявленных доменов, либо, в свою очередь, структуры. Структуры позволяют сортировать объекты по категориям. Ссылки на доменную структуру осуществляются по имени функтора.

В одном объявлении можно описать несколько альтернативных вариантов структуры, разделяя варианты точкой с запятой или служебным словом or,

Примеры объявления структур:

domains

dl,d2,d3 = symbol

fr = fruits (d1,d2,d3); pot (d1)

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

Примеры объявления предикатов:

predicates

add (integer, integer, integer)

lk(fr)

lk(d1, d2)

В разделе database описываются предикаты динамической базы данных. Перечисленные здесь предикаты, после подстановки в них вместо переменных констант (т.е. превращение их в факты),могут быть перемешены и, если потребуется, удалены во время выполнения программы в динамическую базу данных, делается это с помощью стандартных (встроенных в систему) предикатов assert, asserta.

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

Фактсостоит из имени предиката и заключённого в скобки списка аргументов - констант. Правило состоит из заголовка - предиката, объявленного в разделе predicates, за которым следует сперва двоеточие с дефисом (:-), а потом список вызовов предикатов (пользовательских и/или стандартных), разделенных запятыми или точками с запятой. Вместо двоеточия с дефисом можно использовать ключевое слово if, вместо запятой - ключевое слово and, вместо точки с запятой - ключевое слово or.

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

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

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

- < меньше

- > больше

- <= меньше или равно

- >= больше или равно

- = равно

- >< не равно <>или

 

Для сравнивания между собой выражений и переменных.

Операция = (равно) устанавливает соответствие между выражениями правой и левой частей предиката Х=У. Предикат этот записан в привычной инфиксной форме.

В процессе согласования переменных используются следующие соглашения:

1. Если X - свободная переменная, а У - конкретизированная, то при записи Х=У, переменная X станет конкретизированной и получит значение, равное У.

2. Целые числа и строки всегда равны самим себе.

3. Две структуры равны, если они имеют одинаковые функторы, одинаковое число параметров, и все соответствующие параметры равны между собой.

4. Если имеется запись вида Х= У и обе переменные свободны, то они становятся сцепленнымии при конкретизации одной из них, вторая автоматически будет означена тем же значением.

Раздел goal содержит запросв программе, называемый внутреннимДля внутреннего запроса Prolog осуществляет поиск только первого подходящего решения.При этом система не сообщает о результатах найденного решения (успешное или нет). Полученные при сопоставлении значения переменных, входящих в предикаты запроса, так же не отображаются на экране. Эти действия должен запрограммировать программист с использованием стандартных предикатов для вывода данных.

Раздел описания целей (goal) в компилируемой программе может отсутствовать, тогда в диалоговом окне после запуска программы на выполнение можно ввести внешний запрос.При использовании внешнего запроса Turbo Prolog отыскивает все варианты решенийи в этом же окне выводятся значения переменных предикатов запроса и сообщение об успешном или неуспешном решении.

Примеры:

1). Иванов - студент математического факультета.

Студент ("Иванов", математический_факультет).

2), Земля имеет форму шара.

Имеет("Земля", форма_шар).

Х - "Земля"

?Имеет ("Земля", у).

у = форма_шар.

 

 

Управление вычислениями.

1. Основные средства управления.



<== предыдущая лекция | следующая лекция ==>
Метод резолюций. | Средства Prolog в программировании.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.