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

Автор работы: Пользователь скрыл имя, 04 Июня 2013 в 13:39, лекция

Краткое описание

В начале 70 х годов группа специалистов Марсельского университета во главе с А. Колмероэ разработали специализированную систему для доказательств теорем на базе языка Фортран, которую использовали для обработки высказываний на естественном языке. В начале 80 годов в Отделении Вычислительных наук Датского Технического Университета сформировался коллектив программистов, которым в 1982 году был разработан интерпритатор языка пролог для VAX. В 1984 Лео Йенсен, Джон Гофман, Финн Гронсков разработали компилятор для IBM PC возникла фирма PDC (Prolog Development Center). Фирма Borland до 1990 Turbo Prolog затем права переданы PDC.

Содержание

1. Основные конструкции языка Visual Prolog, разделы программы, дескриптивный, процедурный и машинный смысл программы на Прологе
2. Представление знаний, структуры данных в программах на языке Пролог.
3. Функциональные возможности Visual Prolog

Вложенные файлы: 1 файл

Lekc2ozo (1).doc

— 119.00 Кб (Скачать файл)

Управляемые событиями приложения

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

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

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

Конечно, вы можете уменьшить количество возможных  событий и сообщений, блокируя пункты меню и кнопки управления. Часть обработки сообщений GUI-приложений может быть очень сложной, но это цена за большую гибкость. Пролог и VPI существенно упрощают работу программиста по связыванию приложения с GUI операционной системы. Эксперт кода и браузер (The Code Expert and the Browser) облегчают поиск и обработку кода, который соответствует определенному событию, отвечая на определенное сообщение, и вы редко будете иметь дело с запутанными деталями основной логики передачи сообщений.

Окна

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

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

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

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

Типы окон

Окна классифицируются по типам. Типы окон должны принадлежать домену windowtype и иметь префиксы w_ (для окон), wc_ (для элементов управления) или wd_ (для диалоговых окон). Тип окна может быть получен по дескриптору окна вызовом предиката win_GetType. Возможные типы окон перечислены.

 

Обычное окно документа

Дочернее окно

Окно Task

Окно экрана Screen

Модальное диалоговое окно

Немодальное диалоговое окно

Командная кнопка

Переключатель

Флажок

Горизонтальная  полоса прокрутки

Вертикальная  полоса прокрутки

Поле редактирования

Статический текст

Список

Раскрывающийся  список

Поле редактирования с раскрывающимся списком

Групповой блок

Пиктограмма

Специальные (определяемые пользователем) элементы управления

Внутреннее  окно, используемое во время печати

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

Внутреннее  окно, используемое во время создания метафайлов/


Информация о работе Язык программирования Visual Prolog