Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 5 (лекція 9 і 10).doc
Скачиваний:
2
Добавлен:
16.11.2018
Размер:
1.1 Mб
Скачать

Опис алгоритму розв’язування задачi

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

В АIС ФКУ алгоритми описуються здебільшого математичним або графiчним способом, а також алгоритмiчною мовою. Графiчному опису передує, як правило, побудова математичної моделi — математичного опису алгоритму. Такий опис полягає у формалiзованому (із застосуванням математичних символів) поданні всіх розглядуваних залежностей і методiв відшукання значень вихiдних даних на підставі вхiдних.

Графiчний опис алгоритму виконується здебільшого у виглядi структурної схеми. Кожний її елемент являє собою фрагмент алгоритму, який описує певнi (повнiстю визначенi) дiї з даними. Послiдовнiсть дiй зображується за допомогою ЛIНIЙ ПОТОКУ IНФОРМАЦIЇ. Напрям потоку iнформацiї «згори — униз» i «злiва — направо» вважається основним i стрiлками не позначається.

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

Iснують певнi графічні позначення i для типiв носiїв та форм передавання даних, тому за допомогою таких позначень можна подати не лише машинний алгоритм, а й усю технологiю розв’язування задачi та обробки iнформацiї. Це важливо, коли йдеться про складні iнформацiйні зв’язки між задачами або складні процеси обробки даних.

До ПОЗ включають здебільшого як математичний, так i графiчний опис алгоритму. У разі, коли готують окремий документ «Опис алгоритму», поділяють його на роздiли: призначення та характеристика комплексу задач, використовувана iнформацiя, результати розв’язування задач комплексу, математичний опис алгоритму, графiчний його опис.

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

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

Розрізняють кiлька рiвнiв деталiзацiї (задання) алгоритму автоматизованого розв’язування задач АІС ФКУ.

Рiвень «iнформацiйної моделi», або «нульовий», дає уявлення про використовуванi вхiднi і вихiднi повiдомлення та форми їх подання. Наводиться графiчне (символьне) зображення всiх зазначених повiдомлень: вхідних — з одного боку, а вихіних — із протилежного вiдносно зображення самої задачi. Водночас зазначають, де саме утворюються вхідні і де використовуються вихiдні повiдомлення. Якщо задача порівняно проста, то такої точності задання алгоритму достатньо для його реалiзацiї.

Наступний (перший) рiвень — це рiвень, коли алгоритм задається з точнiстю до робiт з iнформацiйними масивами й загальних операцiй із ними (сортування масиву, вибiр, злиття тощо) та з точнiстю до блокiв розрахункiв показникiв за заданими формулами. Багато з таких блокiв алгоритму (сортування, добiр, обчислення середнього і т.iн.) уже можуть бути реалiзованi вiдповiдними командами (операторами) мов високого рiвня. У разі одного масиву досить просто за допомогою вiдповiдних команд типу REPORT реалiзується блок видавання на друк повiдомлення в табличній формі.

Коли у процесі видавання вихiдних повiдомлень беруть участь два масиви (найчастіше — масив числових значень i кодiв реквiзитiв та масив довiдкових даних, який мiстить розшифрування кодiв), доводиться органiзовувати пошук даних за кодом. Тобто необхiдна подальша деталiзацiя алгоритму (хоча в сучасних мовах високого рiвня iснують вiдповiднi типовi засоби видавання повiдомлень).

Ще вищим є другий рiвень деталiзацiї алгоритму, що означає його задання з точнiстю до робiт з окремими записами iнформацiйних масивiв, до манiпулювання з полями записiв (вибiр записiв за умовою, пошук за ключем, перехiд за номером запису, добiр полiв, аналiз значень окремих полiв i т.iн.).

Як правило, цим рiвнем можна обмежитися, коли йдеться про автоматизоване розв’язування економічних задач у фiнансово-кредитних установах та про автоматизацію операцій обробки документів. Проте щодо задач математичної логiки, контролю й захисту iнформацiї такої деталізації недостатньо. Доводиться деталiзувати алгоритм до рiвня роботи зі складовими частинами полiв (символами, байтами), а iноді навiть зі складовими елементами байтiв — бiтами, що є по суті граничним рiвнем задання деталiзацiї алгоритму.