- •Кафедра Информационных систем и вычислительной техники Национального минерально-сырьевого университета «Горный"
- •Содержание
- •История развития и современное состояние языка prolog
- •Тенденции в истории развития языка Prolog
- •Области применения языка Prolog
- •Современные реализации языка Prolog
- •Поддержка веб-технологий в реализацях Prolog
- •Основы разработки prolog-программ
- •Общие сведения о языке Prolog
- •Понятие факта, правила, запроса и процедуры
- •Механизм сопоставления и поиска с возвратом
- •Основные элементы языка Prolog
- •Среда разработки программ pie и система swi-prolog
- •Основы работы в консоли Prolog
- •Основы работы с программными файлами
- •Справка и помощь в среде swi-Prolog
- •Основы трассировки и отладки в среде pie и swi- Prolog
- •Графические интерфейсы на базе swi-Prolog/xpce
- •Загрузка и запуск программ swi-Prolog'a
- •Использование ярлыков для запуска программ
- •Использование командных и скриптовых сценариев
- •Среда разработки turbo-prolog
- •Структура программы на Turbo Prolog'e
- •Оболочка системы Turbo Prolog
- •Отладка и трассировка программ
- •Работа с простейшими программами в Turbo Prolog'e
- •Работа с графикой в Turbo Prolog'e
- •Среда разработки visual prolog
- •Интегрированная среда разработки
- •Разработка консольного проекта
- •Разработка gui проекта на Visual Prolog'e
- •Prolog — язык логического программирования
- •Системы основанные на знаниях
- •Логические модели и логическое программирование
- •Простейшие конструкции языка предикатов
- •Предикатные формулы
- •Определение правильно построенной формулы
- •Логический вывод
- •6.6.1. Правило резолюции для простых предложений
- •Правило резолюции для сложных предложений
- •Простая резолюция сверху вниз
- •Общая резолюция сверху вниз
- •Унификаторы и примеры унификации
- •Решение задач и извлечение ответа
- •Приложение 1. Запуск Turbo-Prolog в ос Windows 7
- •1. Стандартные предикаты ввода данных.
- •Предикаты преобразования данных
- •Предикаты работы с окнами.
- •Предикаты работы с файлами.
- •Предикаты управления экраном.
- •Предикаты обработки строк.
- •Предикаты работы с графикой.
- •Разные предикаты.
- •Правила вычисление атрибутов экрана.
- •Приложение 3. Пример программы построения дерева синтаксического анализа
- •Интеллектуальные информационные системы prolog - язык разработки интеллектуальных и экспертных систем
Предикаты работы с графикой.
Графические возможности Турбо-Пролога реализованы для двух уровней: пунктирной графики, когда используются команды вида "начертить линию, проходящую через указанные точки" и графики построения "от руки", с помощью цветного пера. Перед тем как использовать команды графики Турбо-Пролога, Вы должны установить экран в графический режим, а по его окончании очистить экран и вернуться к текстовому режиму. Заметим, что текст и графика могут вместе использоваться внутри окна и на полном экране. Графический предикат имеет форму:
graphics( Режим , Палитра, ЦветФона ) ( integer , integer , integer ) -- (i,i,i)
Этот предикат инициализирует экран на среднюю, высокую или сверхвысокую степень разрешения графики. Возможные значения режима и результирующего формата экрана указаны в следующей таблице.
Режим |
Кол-во столбцов |
Кол-во строк |
Описание |
1 |
320 |
200 |
Среднее разрешение, 4 цвета |
2 |
640 |
200 |
Высокое разрешение, черно-белый экран |
3 |
320 |
200 |
Среднее разрешение, 16 цветов |
4 |
640 |
200 |
Высокое разрешение, 16 цветов |
5 |
640 |
350 |
Сверхвысокое разрешение |
Во всех случаях графика начинается с очистки экрана и установки курсора в левом верхнем углу. Цвет фона выбирается из условий:
Черный |
0 |
Серый |
8 |
Синий |
1 |
Ярко-синий |
9 |
Зеленый |
2 |
Ярко-зеленый |
10 |
Голубой |
3 |
Ярко-голубой |
11 |
Красный |
4 |
Ярко-красный |
12 |
Сиреневый |
5 |
Ярко-сиреневый |
13 |
Коричневый |
6 |
Желтый |
14 |
Белый |
7 |
Ярко-белый |
15 |
Имеются два основных графических предиката- dot u line (точка и линия). dot( Строка , Столбец , Цвет ) (integer,integer,integer) -- (i,i,io)
Предикат dot(...) помещает точку цвета, указанного третьим параметром, в позицию определяемую первыми двумя параметрами, которые являются целыми от 0 до 31999 и не зависят от текущего режима экрана.
line( Строка1 , Столбец1 , Строка2 , Столбец2 , Цвет ) (integer,integer,integer,integer,integer) -- (i,i,i,i,i)
Предикат line(...) чертит линию через точки, позиции которых указаны параметрами строки и столбца, цвет линии определятся последним аргументом.
В Турбо-Прологе есть предикаты, которые реализуют графику построения "от ру
ки", с помощью цветного пера. Основными элементами графики этого уровня являются: изображенное на экране треугольное перо, так называемая "черепаха" и простые направляющие команды типа "вперед", "вправо" и т.п. При входе в графический режим экран очищается, появляется "черепаха", "перо" находится в хвосте. Направляется "черепаха" при помощи стандартных предикатов, а "перо" оставляет след на экране. Действие этих предикатов зависит от позиции "черепахи", направления, включено "перо" или нет, от цвета "пера". Основные предикаты черепашьей графики:
pendown - активизирует "перо"
penup - дезактивизирует "перо"
репсо1ог(Дведа) (integer) -- (i) - определяет цвет следа
for\\ard(///dr) (integer) -- (i) - указывает число шагов "черепашки" из текущей
позиции в текущем направлении.
Ьаск(Шаг) (integer) -- (i) - действует противоположным образом
пдЫ(Угол) (integer) -- (i) - поворачивает "черепашку" направо. Если "Угол" -
связанная переменная, то "черепашка" поворачивается на указанное число градусов, если свободная, то она связывается с текущим направлением.
left( Угол) (integer) -- (i) - аналогично поворачивает "черепашку" налево.
