Алгоритмічне забезпечення ІС
Алгоритмічне забезпечення (АЗ; IS algorithmically support) – сукупність алгоритмів рішення математичних задач функціонального наповнення ІС.
Виділяють алгоритми досягнення цілей, виконання функцій і рішення задач. АЗ включає засоби опису узагальнених процедур функціонування і моделювання об’єктів ІС, а також засоби детального опису рішення конкретних задач і перетворення даних. АЗ покриває усе поле оголошених функціональних можливостей ІС від узагальнених цілей до детальних процедур.
АЗ формується як відображення простору рівнів гіперпростору ІС (функціонального, математичного, інформаційного й інших видів забезпечень) на простір алгоритмів. Процедури ФЗ і МЗ використовуються для уточнення прийнятих алгоритмів рішення задач і моделей поведінки об’єктів. З інформаційного забезпечення використовуються алгоритми перетворення даних. У свою чергу уточнені алгоритми АЗ трансформуються потім в алгоритми програмного забезпечення.
Таким чином, АЗ поєднує у своєму складі повний набір алгоритмів:
- узагальненого функціонування;
- рішення функціональних задач;
- моделювання.
Алгоритми узагальненого функціонування застосовуються для укрупненого опису процесів верхнього рівня ІС, проектованих цілей і реалізуючих їх функцій. Розробка таких алгоритмів провадиться шляхом розбивки їх на більш дрібні етапи.
Алгоритми рішення функціональних задач підрозділяються на математичні й евристичні. Математичні алгоритми визначаються обраними математичними методами і конкретизацією способу їх рішення. Евристичні алгоритми використовуються у випадках оцінки якості якогось процесу кількісною мірою.
Алгоритми моделювання використовуються для відтворення поведінки реальних виробничих (економічних) процесів, опису цілей і реалізуючих їх функцій на основі прийнятих методів і моделей.
Всі алгоритми перерахованих груп в залежності від обраного базису С–F–S можуть бути:
- ціле-орієнтованими;
- функціонально-орієнтованими;
- структурно-орієнтованими.
Ціле-орієнтовані алгоритми описують цільовий компонент С системи (проблему, цілі, функції, задачі, процедури) від верху до низу в прив’язці до структурних елементів системи S.
Функціонально-орієнтоване АЗ включає алгоритми задач обліку, аналізу, прогнозування, планування і управління, що забезпечують досягнення заданої цілі С конкретного структурного підрозділу S.
Структурно-орієнтоване АЗ поєднує алгоритми конкретних структурних підрозділів (системи, підсистем, модулів, елементів) з урахуванням виконання останніми заданих цілей С і функцій F.
Алгоритм в загальному випадку – це послідовність етапів виконання заданої процедури. Алгоритми математичні характеризуються чіткою послідовністю дій, що приводять до вирішення задач даного класу. Послідовність дій алгоритму можна описати за допомогою:
- вербального (змістовного) способу;
- методу блок-схем;
- операторного методу;
- методу алгоритмічних мов і інших засобів.
Опис алгоритму на вербальному рівні відповідає послідовності етапів у вигляді 1,2,3, ... і т.д. Даний спосіб не є формалізованим.
Приклад. Нехай необхідно описати алгоритм формування повідомлень за виразом (3.4) при відхиленні параметру Af від норми An (нехай, Af =12.50; An=15.50):
(3.4)
Послідовність вербального опису.
1.Початок.
2.Поточне введення вихідних даних (Af =12.50; Аn=15.50).
3.Перевірка умови (Af ≤ An).
4.Якщо умова (Af ≤ An) виконується (так), то формується повідомлення (SOB1) "Режим нормальний".
5.Якщо умова (Af ≤ An) не виконується (ні), то формується повідомлення (SOB2) "Режим аварійний".
6.Кінець.
У методі блок-схем для опису дій алгоритму використовується набір графічних фігур (паралелограми, ромби, прямокутники й ін.). Кожному графічному елементові відповідає визначений обчислювальний етап. Призначення фігур та їх накреслення регламентоване (ГОСТ 19.701-90 або ІСО 580785). Цей метод використовується в якості основного при описі алгоритмів.
Алгоритми будь-якої складності в якості базисних використовують три простих "цеглинки" – лінійна ділянка, розгалуження і цикл (рис. 3.6. а, б, в).
Рис. 3.6. Базисні елементи опису алгоритмів.
Блок-схема алгоритму виразу 3.6. представлена на рис. 3.7.
Рис. 3.7. Блок-схема алгоритму
У випадку операторного методу кожному етапу алгоритму ставлять у відповідність великі букви латинського або кириличного алфавіту (рис. 3.7). Ці символи етапів одержали назву операторів. Крім них, використовуються також ліві і праві напівдужки як символи передачі управління (). Цей спосіб часто застосовується з метою публікації алгоритмів.
Алгоритм попереднього прикладу, описаний операторним методом, представляється у вигляді рядка операторів, що називається логічною схемою алгоритму (ЛСА):
,
де Н1 і Z6 – оператори початку і закінчення роботи алгоритму;
Р3 – логічний оператор перевірки умови;
В2, В4, В5 – відповідно оператори введення даних, виводу повідомлення SOB1 і повідомлення SOB2;
(
) – ліва і права напівдужки передачі управління від Р3 до В5 і від В4 до Z6;
; – розділяючий знак (крапка з комою) характеризує відсутність зв’язку між сусідніми операторами.
Метод алгоритмічних мов залучає засоби мов високого рівня для опису простих алгоритмів проектування або програмування. Для складних алгоритмів спочатку складається блок-схема і її деталізація, а потім провадиться запис простих процедур на мовах високого рівня.