Частина 1

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Запорізький національний технічний університет

 

МЕТОДИЧНІ ВКАЗІВКИ

До самостійних робіт з дисципліни

“Логічне програмування”

Для студентів спеціальностей 8.080403

„Програмне забезпечення автоматизованих систем”

Всіх форм навчання

 

Частина 1

 

 


Методичні вказівки до самостійних робіт з дисципліни “Логічне програмування” для студентів спеціальностей 8.080403 “Програмне забезпечення автоматизованих систем” всіх форм навчання

/Укл.: І.В. Левада, Л.Ю. Дейнега. – Запоріжжя: ЗНТУ, 2005. –38 с.

 

Укладачі: І.В. Левада, ст. викладач

Л.Ю. Дейнега, асистент

 

Рецензент: А.В. Пархоменко, доцент, к.т.н.

 

 

Відповідальний

за випуск: А.В. Притула, доцент, к.т.н.

 

 

Затверджено на засіданні

Кафедри “Програмних засобів”

Протокол № 1 від. 01.05.


ЗМIСТ

 

ВСТУП

Методичні вказівки містять стислі відомості про оболонку Visual Prolog, які необхідні для утворення і налагодження програм. Під час самостійної роботи студенти повинні освоїти роботу в оболонці Visual Prolog. Вміння, працювати з оболонкою необхідно для виконання лабораторних робіт по дисципліні „Логічне програмування”.

 

 

ВІЗУАЛЬНЕ СЕРЕДОВИЩЕ РОЗРОБКИ VDE

Візуальне середовище розробки VDE (Visual Development Environment) містить експерт застосування, експерт коду, текстовий і графічний редактори, компілятор, налагоджувач, утиліту тестування цілі TestGoal, комплект інструментальних засобів для розробки ресурсів, браузер різних типів.

При вході у візуальне середовище розробки VDE на екрані з’являється основне вікно середовища TASK. Вікно Тask містить головне меню: File, Edit, Project, Options, Help, Window. Кожна команда виконує свій тип роботи.

ПІДГОТОВКА І ВИКОНАННЯ ПРОГРАМИ В СЕРЕДОВИЩІ VISUAL PROLOG

Текстовий редактор Visual Prolog

Для утворення вікна редактору обирають команду головного меню File/New. Завантаження вже існуючих текстових файлів для редагування виконується за командою File/Open.

Текстовий редактор має всі можливості сучасних тестових редакторів: операції вилучання, копіювання і вставки, відміни корегування і поновлення змін, пошук і заміну. Можливості подані рядком інструментів.

Права кнопка миші дозволяє одержати можливості редактору для корегування тексту. Команда, що закінчується символом >, має своє меню. Команда, що закінчується „...”, має діалогове вікно. За такими командами можна одержати відомості про стандартні предикати, константи, типи даних візуального інтерфейсу і вставити їх в текст; утворити новий каталог, тощо. Редактор дозволяє робити гіпертекстові посилання.

Редактор дозволяє працювати з різними наборами символів. Для роботи з кирилицею обирають в рядку інструментів кнопку F. Указують набір символів – кирилицю. Можна також обрати шрифт, написання символів і їх розмір.

Редактор фарбує ключеві слова Прологу, що дозволяє легко читати програму.

Опис редактору можна одержати за „гарячою клавішею” – F1.

Середовище VDE дозволяє утворювати декілька вікон текстового редактору. Але активним може бути тільки одне вікно.

Компілятор

На відміну від Турбо – Прологу компілятор Візуального Прологу генерує не опис завдання, який інтерпретується Пролог – машиною, а машинний код. Код візуального Прологу за ефективністю не гірше ніж код програм, що написані на С і Паскаль.

Компілятор моделює виконання програми користувача з метою знаходження можливих помилок під час її виконання. Компілятор контролює вірність використання типів даних, потоки даних у програмі від предикату до предикату.

Механізми Візуального Прологу працюють залежно від визначення детермінованості предикатів. Тому Пролог контролює відповідність визначення детермінованості предикатів і кількості тверджень у програмі. Предикати, що зустрічаються в програмі більше одного разу, мають властивість Nondeterm.

 

Опції компілятора

Щоб обрати необхідні опції компілятору для певного проекту треба:

1) Відкрити проект.

2) Обрати Options/Project/Compile Options:

3) Опція Code Generation установлює:

Ø Errorlevel - рівень знаходження помилок – Medium;

Ø Alignment - показує як вирівнюються дані компілятором. Цю установку не можна змінювати.

Ø Place string in .Sym – указує, що треба розмістити рядки в таблицю символів. Для платформи Windows-16 таблиця символів обмежена 64кб.

Ø Print Menu in DOS .EXE – обирається для текстових програм у DOS. Опція дозволяє використовувати для друку команду ALT-P.

Ø Convert ANSI to OEM – показує, що перетворює набір символів ANSY в набір символів OEM. Перетворення виконується при підготовці програми для роботи в DOS.

Ø Runtime checking - установлює тип помилки, за яку треба визначати під час роботи програми:

· Integer Overflow Check – контроль за переповненням для цілих чисел;

· Break Check – переривання роботи програми;

· Stack Overflow Check – переповнення стеку.

4) Опція Output вказує на можливий тип виводу інформації компілятором або ідентифікує її:

Ø Diagnostics output - виводити діагностику;

Ø .SYM Filename – задає ім’я об’єктного файлу проекту, який містить символи проекту;

Ø Generate Browser Information – генерувати інформацію для браузер;

Ø Generate Debug Information – генерувати інформацію для налагоджувача;

Ø Disable Optimization блокувати оптимізацію висхідної(хвостової) рекурсії;

Ø Line Number Information – розміщати № рядків програми в об’єктний код;

Ø Max Allowed Errors - можлива максимальна кількість помилок до зупинки компіляції.

Ø Verbosity – установлює, які повідомлення видавати у вікно повідомлень:

· None - не виводити повідомлення;

· Default – виводити повідомлення про початок компіляції кожного модуля;

· Виводити повідомлення про початок компіляції і про файли, що включають в проект.

5) Опція Warnings задає установки для попереджень:

Ø Suppress All Warnings – задовольняти всі попередження;

Ø Treat Warnings as Errors – не розглядати попередження як помилки;

Ø Max Allowed Warnings – максимальна кількість помилок;

Ø Default Predicates Type – замовчення для типів предикатів:

· Nondeterm;

· Determ;

· Procedure.

Ø Duplicated includes – попередження, що даний файл вже включено.

Ø Non Quoted Symbols – Не дозволяти використовувати ідентифікатори з малих букв;

Ø Strong Type Conversion Check - сильний контроль за сумісністю типів;

Ø Check Type of Predicates -

Ø Unused Variables

Ø Unused Predicates

Ø Unused Code

7) Miscellaneous - різне:

Ø Memory Options – значення опцій подано у кб:

Ø GStack Size – визначає розмір глобального стеку. По замовчанню 100 мб, мінімальний розмір 128 кб;

Ø Stack Size – визначає розмір стеку для проекту. Для Windows-32 розмір стеку по замовчанню 1024кб.

Ø Heap Size – Опція працює тільки для DOS. По замовчанню 0.

Predefined Constants – В цій області можна визначити параметри, що будуть передані компілятору.

В середовищі Visual Prolog програма виконується під керуванням утиліти TestGoal. Для цього утворюють проект TestGoal. Проект описує вимоги до роботи утиліти.

Утворення TestGoal проекту

1. Обрати опцію головного меню Project/ New Project. На екрані з’явиться Експерт застосування (Expert Application ).

2. Для опції General ввести ім’я проекту (Project Name) TestGoal.

3. Ім’я бази даних (Name of VPR.File) і ім’я файлу, в якому компонуються стандартні пакети з програмою користувача (Name of PRJ file), водяться автоматично. Встановити курсор у вказані поля і клацнути лівою кнопкою.

4. Відмітити Multiprogram Mode.

5. Визначити базовий каталог проекту. Цей каталог по замовчанню буде використовуватися для відкриття файлу і запису файлів.

6. Для опції Target обрати платформу(Platform)- Windows-32, обрати стратегію (EasyWin) – , обрати тип об’єкту, що утворюється (Target Type) – exe, обрати тип головної програми для ініціалізації (Main Program) - Prolog.

7. Утворити проект за кнопкою Creat.

8. Установити опції компілятору. Для цього обрати опцію головного меню Options/ Project/ Compiler Options.

9. В опції попередження - Warning установити для предикатів, що мають декілька розв’язків – nondeterm.

10. Зберегти установки OK.

Підготовка нової програми

1) Набрати текст програми в вікні текстового редактору. Кожний модуль *.pro повинен мати інструкцію include “<ProjectName.inc>”. Тоді в вашу програму включатимуться глобальні предикати і домени.

2) Зберегти текст програми в базовому каталогу проекту за обраним ім’ям.

3) Компілювання, компонування і запуск програми виконується за обраною кнопкою G або за комбінацією клавіш Ctrl-G (виклик утиліти Test Goal).

Утиліта компілює тільки програму, що знаходиться в активному вікні текстового редактору. Для утиліти Test Goal не можна використовувати глобальні предикати з інших модулів. Тому для утиліти ігноруються будь - які установки меню Make Option.

Виконання програми, що існує

1) Виконайте команду Project/ Open Project, щоб відкрити Test Goal проект. Оберіть файл TestGoal.vpr.

2) Відкрийте необхідний файл командою File Open.

3) Компілювання, компонування і запуск програми виконується за обраною кнопкою G або за комбінацією клавіш Ctrl-G (виклик утиліти Test Goal).

Обробка помилок

Помилки і повідомлення системних програм і програми користувача при її виконанні виводяться в вікно помилок.

Двічі натиснувши на ліву кнопку ви знайдете місце помилки у вашій програмі. За клавішею F1 можна викликати інтерактивну довідку. Щоб одержати повну довідку, оберіть Search і введіть № помилки.

Налагоджувач

При виконанні програми можливі помилки. Налагоджувач дозволяє виконати вашу програму по кроку, переглядаючи значення змінних для кожного предикату. Або встановити в програмі точки зупинки, щоб переглянути значення змінних предикатів вибірково. Налагоджувач також дозволяє переглядати вміст фактів і вилучати їх, переглядати події візуального інтерфейсу, вміст динамічної пам’яті, G-стеку, дамп пам’яті. Програміст може переглянути програму як на рівні Прологу так і на рівні асемблера.

Налагоджувач Visual Prolog – окрема програма, яку можна викликати з середовища VDE або операційної системи.

Установки компілятору для налагодження

Для налагоджування програми треба генерувати інформацію для налагоджувача. Генерацію виконує компілятор. Тому перед початком компіляції програми користувача треба встановити опції компілятору:

Ø Обрати в опції компілятору Compile Options/Output команду Generate Debug Information – генерувати інформацію для налагоджувача. За цією опцією компілятор генерує файли для налагоджувача(.deb) і розмістить їх в каталозі obj – файлів;

Ø Обрати в опції Compile Options/Output команду Disable Optimization.

При блокуванні хвостової рекурсії Пролог перетворить висхідну рекурсію у ітерацію, тобто оптимізує рекурсію.

Налагоджувач, за вказаною командою, буде показувати роботу програми користувача у рекурсивному вигляді. Це дозволить проглядати для висхідної рекурсії всі кроки роботи програми.

 

Опції налагоджувача

Налагодження програми користувача виконується при запуску проекту Project/Debug або при виклику в операційній системі програми Vipdebug.exe.

1) За викликом налагоджувача з операційної системи завантажити Exe - програму в налагоджувач:

Ø За командою Load в меню Files обрати і завантажити Exe-програму;

Ø За командою Edit/Font обрати кирилицю;

Ø Якщо .Deb файли розташовані не по замовчанню, вказати каталог, в який вони переміщені.

Ø Обрати необхідний режим запуску програми:

· В Command Line задають вигляд вікон: full, minimized or maximized.

2) Меню Run використовують для керування налагодженням. Аналогічні дії можна виконати з рядку інструментів.

Ø Меню Run:

· Run (F9) - Команда використовується одночасно з точками зупинки. Після зупинки програми в точці, можна виконувати трасування по кроку:

· Run until fail – виконує трасування поточного предикату, поки значенням предикату не стане неправда. Курсор повертається на цей предикат;

· Break Program – перервати виконання програми щоб ввійти в налагоджувач. Після зупинки можна подивитися що зроблено у стеку запиту і встановити нову точку зупинки;

· Wait for VPI Events чекати події візуального інтерфейсу.

 

Ø Покрокове трасування:

· Trace into (F7) – покрокове виконання програми. Виводиться кожний виклик предикату і його результат;

· Step over (F8) – покрокове виконання програми. Трасування виконується без заходу в поточні цілі кожного предикату;

· Run to Cursor (F4) – програма виконується до місця, яке відмічено курсором;

Ø Переривання роботи програми:

· Invoke Fail - переривання з поверненням невдачі;

· Invoke Exit - вихід з програми. Можливо перервати виконання програми або перейти від тексту програми на асемблері до тексту програми на Пролозі(inspect source);

· Restart – розпочати трасування знов;

3) Setting Breakpoints – установка точок зупинки для контролю. Контрольні точки дозволяють розбити програму на частини для локалізації помилок.

Ø У вікні модулів відображується програма. Щоб установити точку зупинки клацають двічі на певному предикаті. Програма виконується тільки до вказаної точки.

Ø Зручно використовувати Вікно контрольних точок для керування точками зупинки. Вікно відкривають за опцією View | Break Points. За правою кнопкою миші можна

· Remove – обрати точку і вилучити;

· Remove all – вилучити всі точки;

· Go to Code – виконати програму від обраної точки до наступної точки;

· Properties - одержати властивості точки. Можна подивитися скільки раз виконувалася дія у контрольній точці.

Після досягнення критичного числа проходів через точку налагоджувач перерве виконання програми.

 

4) Слідкування за значеннями локальних змінних програми - Local Variables. Укажіть на змінну предикату курсором, щоб узнати її значення.

5) Можливо також переглядати факти у вікні фактів, щоб перевірити їх вірність.

6) Виклик стеку. Перегляньте у вікні стеку список предикатів, які вже працювали під час налагодження програми. Щоб переглянути місце, звідки поступив виклик предикату двічі клацніть на предикаті.

СТВОРЕННЯ ПРОЕКТУ

Команда головного меню PROJECT

Проекти створюють за допомогою програми VDE „Експерту застосування”. Експерт застосування (Application Expert) викликається за допомогою опції головного меню Project. Для утворення нового проекту обирається опція New Project… .

Для корегування проекту обирається опція Open Project… .

ЕКСПЕРТ ЗАСТОСУВАННЯ

Експерт застосування значно полегшує утворення програми користувача (застосування). Експерт застосування дозволяє обрати модулі з якими буде скомпонована програма згідно необхідних можливостей проекту.

Опція General

Опція General дозволяє задати ім’я проекту, базовий каталог для програм і інших компонент проекту, обрати мультипрограмний режим роботи декількох програмістів над проектом.

Параметри опції General:

Ø Ім’я проекту <Ім’я проекту>.prj - експерт застосування використовує для автоматичної генерації імен файлів, що генеруються під час утворення проекту, і необхідні компоновки програм користувача з стандартними програмами при візуальному програмуванні: <Ім’я проекту>.vpr , <Ім’я проекту>.inc, <Ім’я проекту>.con, <Ім’я проекту>.dom, <Ім’я проекту>.pre, <Ім’я проекту> .pro. Для можливості переміщення проекту на іншу платформу не застосовуйте більше 8 – символів у імені.

Ø База даних проекту має ім’я <Ім’я проекту>.vpr. містить опис компонент проекту: програми на Visual Prolog, меню, панелі інструментів, піктограми, курсори, вікна, діалогові вікна. Експерт застосувань автоматично утворює базу даних проекту.

Ø Базовий каталог можна обрати браузером або може бути утворений за командою Subdirectory.

Опція Target

Опція Target дозволяє обрати платформу для побудови програми, варіант побудови інтерфейсу користувача(стратегію), тип об’єкту, який утворюється(програма, динамічна бібліотека), обрати мову для основної програми(Visual С, Prolog).

Параметри опції Target:

Ø Платформа вказує для яких операційних систем будується програма:

· Платформа DOS – використовується для побудови програм, які працюють в реальному режимі Dos . Платформу використовують для програм сумісних з програмами Turbo Prolog.

· Платформа DOS Extended - використовується для побудови програм, які працюють в захищеному режимі Dos .

· Платформа Windows 16 - використовується для побудови програм, які працюють на 16-розрядній платформі Windows . Для цієї платформи краще обирати стратегію VPI.

· Платформа Windows 32 - використовується для побудови програм, які працюють на 32-розрядній платформі Windows.

Ø Інтерфейс користувача

Візуальний інтерфейс користувача VPI – використовують для керування вікнами у системі користувача для платформ Windows -16 або Windows- 32 .

Інтерфейс користувача EasyWin – використовують для малих програм, які використовують для інтерфейсу тільки стандартні предикати: Readchar, Readln, Write, Writef, Nl, обирають цю стратегію.

Інтерфейс користувача WinBind - обирається при підготовці програми для платформи Windows-16, якщо програма звертається прямо до API.

Інтерфейс користувача TextMode – обирається для платформ Dos, Dos extended, якщо програма використовує систему керування вікнами PDC-Prolog в текстовому режимі. Або для платформи Windows-32, якщо програма використовує текстовий режим, і використовує предикати Readchar, Readln, Write, Writef, Nl. Такі застосування викликаються тільки з командного рядку.

Стратегія Other – користувач сам обирає, які програми інтерфейсу включати в сценарій побудови програми.

 

 

Опції VPI

Опції описують, які компоненти будуть використані при утворенні візуального інтерфейсу системи користувача. Кожна компонента визначає пакет стандартних предикатів.

Опція MDI Mode дозволяє будувати програму, що працює з багатьма документами.

Опція 3D Look for Controls дозволяє будувати в діалоговому вікні 3х мірні елементи керування.

Опція Tool Bar and Help Line вказує, що програма буде мати панель інструментів і Help лінію.

Опція Editor вказує, що програма повинна мати текстовий редактор.

Опція Dialog Pack ago задає наявність в програмі діалогових вікон.

Опція Tree Package забезпечує інструмент для малювання ієрархічних діаграм в напрямках: ліворуч, праворуч, вниз, вверх.

Опція Message Window програма буде мати вікно повідомлень, які виводяться за предикатом Write.

Опція Owner draw Package програма буде містити графічний редактор.

Опція Date Tools забезпечує роботу з зовнішньою базою даних

Опція Tree Browser Package програма буде містити браузер для перегляду дерев.

Опція Dir Browser Packed програма буде містити браузер для перегляду каталогів

Опція Tab Control Package програма буде містити пакет, що керує таблицями.

Опція Grid Package програма буде містити пакет, що дозволяє корегувати зображення за точками.

Опція Drawing Palette програма буде містити пакет, що дозволяє корегувати палітру графічного редактору.

Опція File Name to include Package задає ім’я файлу, в якому компонуються обрані пакети. Опція вказується тільки при утворенні нового пакету.

Інші опції

Для включення інших пакетів в програму користувача треба обрати опції:

Опція SQLBIND визначає, що буде використовуватись SQL інтерфейс.

Опція ODBCBIND визначає, що буде використовуватись ODBC інтерфейс, що переноситься, між програмою і БД Microsoft ODBC.

Опція SOCKBIND забезпечує інтерфейс між Visual Prolog і сокетами.

Опція DOC_TOOL дозволить працювати з документами різних форматів: RTF, HTML, IPF.

Опція PDCRUNT дозволить включити предикати, що забезпечать узгодження програми з програмами на С та DELPHI.