РОЗДІЛ 2. Синтез і мінімізація редактора формул секвенційних алгоритмів
Формула, утворена рангованими змінними термами, називається структурою
алгоритму [16]. Теорія секвенційних алгоритмів забезпечує виконання синтезу
двома методами: секвенційним і табличним. Синтез – побудова цілого, виходячи з
заданих його властивостей [3]. Синтез секвенційним методом проводиться в два
етапи: на першому утворюються секвенції а на другому елімінування із цих
секвенцій. При синтезі табличним методом будуються таблиці із записом змінних
умов та рангованих термів. При великій кількості умов таблиці набирають
громіздких розмірів, які побудувати майже неможливо. Через те, що в редакторі
формул секвенційних алгоритмів передбачається велика кількість умов та
рангованих термів, для синтезу структури редактора вибраний секвенційний
метод.
В розділі виконано синтез загальної структури редактора і тих структур
алгоритмів режимів функціонування, які враховують особливості будови формул
секвенційних алгоритмів. Синтезовані структури мінімізовані за кількістю
термів.
2.1. Принцип побудови редактора формул секвенційних алгоритмів
З метою підвищення ефективності набору і редагування формул секвенційних
алгоритмів доцільно забезпечити автоматичний набір знаків операцій теорії
секвенційних алгоритмів, а редагування формул задавати командами меню і
курсором миші [17,20, 77].
Терми мають вводитися так: вибирається інструмент “текст”, курсор встановлюємо
у потрібне місце робочого поля системи і набрати текстові символи з
клавіатури.
Знаки операцій секвентування, елімінування, паралелення та інвертування мають
генеруватися вибором необхідного інструменту із зображенням операції. Цоканням
клавіші “миші”, коли курсор знаходиться на робочій області графічного вікна
екрану, вказати вирази над якими виконується даний знак операції. Після
виконання таких дій повинен автоматично генеруватися вибраний знак операції над
цими виразами із збереженням встановлених співвідношень, які є між шириною і
довжиною знаків операцій теорії секвенційних алгоритмів.
Знаки операцій циклічного секвентування, елімінування паралелення повинні
вводитися так: вибирається інструмент – відповідний знак операції ”мишею”
переміщується курсор у потрібне місце робочої області і після цоку клавіші
“миші” знак відповідного розміру автоматично повинен вирисуватись у заданому
місці.
Для редагування знаків має бути передбачений інструмент “об’єкт”, яким повинні
виділятися знаки операцій теорії секвенційних алгоритмів з подальшим їхнім
переміщенням або масштабуванням.
Переміщення має здійснюватись так: вибирається інструмент “об’єкт”,
переміщується курсор “миші” в межі необхідного знаку операції і цоком клавіші
“миші” повинен виділитися даний знак операції, далі натиснути ліву клавішу
“миші” на виділеному знаку операції, знак повинен “прив’язатися” до курсору
“миші” і його можна переміщувати в будь-яке місце робочої області.
Масштабування має здійснюватись так: виділити необхідний знак операції, так
само як при переміщені, знак операції стане активним, а саме виділяється рамкою
по краях якої з'являються темні квадратики, ці квадратики використовуються при
масштабуванні, в залежності від напрямку зміни розміру знаку операції,
натиснути клавішу “миші” попередньо встановивши на одному із чотирьох
квадратиків і його переміщенням у відповідному напрямку , знак операції має
змінити розміри зберігаючи нелінійні співвідношення розмірів знаку операції.
Редактор формул секвенційних алгоритмів матиме меню, функціями якого будуть:
робота з даними системи; редагування знаків операцій (копіювання, вирізання
вставляння, знищення); задання параметрів знаків операцій і елементів термів,
встановлення параметрів робочого вікна системи і надання допомоги
користувачеві.
Розроблена трирівнева ієрархічна структурна схема такого редактора наведена на
рис. 2.1. Вона складається з таких шести основних блоків:
головний модуль керування;
модуль даних редактора;
модуль функцій редактора;
модуль редагування знаків операцій;
модуль інструментальних засобів;
інформаційний модуль.
Головний модуль – це керуюча оболонка редактора, названого МОДАЛ, що при
завантажені формує початкові установки редактора, а в процесі роботи здійснює
керування функціями.
Модуль даних редактора містить дані знаків операцій формул теорії секвенційних
алгоритмів, що набираються в середовищі редактора.
Модуль функцій редактора забезпечує виконання команд при опрацюванні режимів
роботи редактора. Це такі основні групи команд:
робота з даними;
редагування фрагментів зображень;
задання параметрів робочого вікна;
надання допомоги користувачеві.
Модуль інструментальних засобів забезпечує генерацію знаків операцій теорії
секвенційних алгоритмів і набір термів, а також ідентифікацію знаків операцій і
термів.
Модуль редагування знаків операцій, служить для переміщення і масштабування
набраних знаків операцій.
Інформаційний модуль, за допомогою інтерфейсу користувача, забезпечує обмін
інформацією між користувачем і редактором, та виконує такі функції:
введення координат знаків операцій;
ідентифікацію знаків операцій і термів, при використанні “миші”;
відображення графічної інформації режимів роботи редактора;
доступ до команд редактора.
Тому, інтерфейс користувача редактора повинен бути побудований так щоб
забезпечити інструментарій для перелічених функцій інформаційного модуля.
2.2. Загальна структура редактора
Загальна структура редактора формул секвенційних алгоритмів [17, 20, 78],
базується на викладеному вище принципі.
Синтез загальної структури редактора
Загальна структура синтезується з терм
- Київ+380960830922