Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_СИИ.doc
Скачиваний:
56
Добавлен:
09.11.2019
Размер:
918 Кб
Скачать

5. Контрольные вопросы.

  1.   Что такое правило, привести примеры.

  2.   Для чего используется дерево вывода, привести примеры.

  3.   Что такое рекурсия, привести примеры.

  4.   Дать рекурсивную формулировку понятия предок.

  5.   Понятие шага и базиса рекурсии.

  6.   Использование встроенных предикатов для форматированного вывода информации на экран.

  7.   Использование предиката отсечения.

  8.   Дать рекурсивную формулировку понятия потомок.

  9.   Дать название следующему правилу

Неизвестное_правило (X, Z) :-

родитель( X , Y ),

родитель( Y , Z ),

мужчина( X ).

  1.   Написать правило находящее минимум из двух чисел.

  2.   Написать правило находящее максимум из трех чисел.

  3.   Дать название следующему правилу

Неизвестное_правило (X, К) :-

родитель( Y , X ),

родитель( Y , Z ),

X <> Z ,

родитель( Z ,К),

женщина(К).

Лабораторная работа № 3 интегрированная среда разработки visual prolog

Цель работы:

изучить основные элементы ИСР VISUAL PROLOG и получить практический навык их использования.

 

1. Создание нового проекта.

Для создания нового проекта VISUAL PROLOG необходимо выполнить команду Project a New , появится окно Project Settings (Настройки проекта).

На закладке General необходимо заполнить следующие поля

•  Project Name - название проекта;

•  Base Directory - основная папка для хранения проекта.

Затем нажать кнопку [Create]. Активизируется окно проекта, которое содержит окно дерева проекта – для отображения списка файлов проекта и окно сообщений – для вывода сообщений компилятора.

2. Создание формы.

Для создания формы необходимо выполнить команду File - New . Появится окно Create Project Item (Создание элементов проекта). На левой панели окна выбрать пункт Form и в поле Name ввести его название (предпочтительно на английском языке). После нажатия на кнопку [ Create ] появится окно Form Properties (Свойства формы), в котором можно установить размеры окна ( Size ), текст заголовка ( Title ), атрибуты шрифта ( Font ) и т.д. После настройки необходимых параметров и нажатия на [ OK ] появятся окна редактора формы рис 3.1.

рис. 3.1. Окна редактора формы

 

Окно Controls содержит визуальные компоненты доступные для перемещения на форму, Layout - служит для выравнивания размеров и положения компонентов.

Для компиляции программы используется команда Build - Build , клавиша [F9] или соответствующая кнопка на панели инструментов.

3. Работа с меню

Для активизации пунктов меню в окне дерева проекта дважды щелкнуть по пункту TaskMenu.mnu , откроется окно TaskMenu (Настройки пунктов меню) изображенное на рис 3.2.

Рис.3.2.Окно настроек пунктов меню

 

В нижней части этого окна расположено дерево меню. Для активизации пункта меню необходимо открыть нужную ветвь , щелкнуть по пункту и убрать галочку в пункте Disabled. Затем закрыть окно редактора меню подтвердив изменения с помощью кнопки [Sаve]. Для того чтобы при выборе пункта меню выполнялось определенное правило, надо в окне дерева проектов в контекстном меню пункта TaskWindow.win выбрать команду CodeExpert . Появится окно Dialog and Window Expert.

Пример . Создать обработчик команды File - New, создающий новое окно .

Для этого в окне Dialog and Window Expert выбрать команду Menu/TaskMenu/ id_file/ id_file_new. В нижней части окна нажать кнопку [Add] и дважды щелкнуть по ветке id_file_new ->onFileNew. Откроется редактор текста программы содержащий следующую заготовку:

clauses onFileNew(_Source, _MenuTag).

Предикат onFileNew будет выполняться в том случае если пользователь выполнит команду File - New Для добавления функциональности к этому предикату воспользуемся конструктором new создающим новое окно, и зададим ему имя Form. Для отображения этого окна используется метод show (). Таким образом, для открытия формы с именем query предикат onFileNew, будет выглядеть следующим образом:

clauses onFileNew(_Source, _MenuTag):- Form = query::new(_Source), Form: show().

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]