This shows you the differences between two versions of the page.
courses:knowledge_base_and_expert_system:lab1 [2019/08/25 13:10] andrey.suchkov created |
courses:knowledge_base_and_expert_system:lab1 [2022/12/10 09:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Лабораторная работа №1: Изучение системы программирования Visual Prolog. Создание Пролог-программы с графическим интерфейсом ====== | ||
- | ===== Цель работы ===== | ||
- | Изучение системы программирования Visual Prolog с последующим созданием Пролог-программы с графическим интерфейсом. | ||
- | ===== Основные теоретические положения ===== | ||
- | Visual Prolog -- объектно-ориентированное расширение языка программирования PDC Prolog, развивавшегося из Turbo Prolog (Borland), семейства Prolog, а также система визуального программирования датской фирмы Prolog Development Center. | ||
- | |||
- | Visual Prolog автоматизирует построение сложных процедур и освобождает программиста от выполнения тривиальных операций. С помощью Visual Prolog проектирование пользовательского интерфейса и связанных с ним окон, диалогов, меню, строки уведомлений о состояниях и т. д. производится в графической среде. С созданными объектами могут работать различные Кодовые Эксперты (Code Experts), которые используются для генерации базового и расширенного кодов на языке Prolog, необходимых для обеспечения их функционирования. | ||
- | |||
- | Мощность языка Prolog в сочетании с системой пользовательских интерфейсов упрощает разработку систем, основанных на знаниях, систем поддержки принятия решений, планирующих программ, развитых систем управления базами данных и т. д. | ||
- | |||
- | Язык программирования, реализованный в Visual (а ранее в Turbo) Prolog'е отличается от классического пролога тем, что он основан на строгой статической типизации. В него также добавлены средства объектно-ориентированного программирования, анонимные предикаты (лямбда-предикаты), факты-переменные и разрушающее присваивание для них, аргументы-домены (Generic Interfaces and Classes) и параметрический полиморфизм, мониторы (Monitors with guards), императивные конструкции (''foreach'', ''if...then...else''), коллекторы списков (''[...||...]'') и пр. | ||
- | ===== Постановка задачи ===== | ||