Основы объектно-ориентированного программирования на языке C# book | Page 26
2 Oснови алгоритм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аграми Насси – Шнейдермана. Для спро-
щення ми використовуватимемо словесний опис. Oднак навiть таке
спрощення надалi дозволить нам швидко перейти до написання про-
грам.
Алгоритми мають такi властивостi:
– Елементарнiсть. Кожна команда з набору мiстить указiвку
виконати деяку елементарну дiю, що однозначно розумiється й
точно виконується.
– Визначенiсть. Виконання алгоритму строго визначене. Це озна-
чає, що на кожному кроцi треба не лише точно виконати ко-
манду, але й однозначно визначити наступну. Тому повторне
виконання алгоритму для одних i тих самих початкових даних
точно повторює перше його виконання.
– Масовiсть. Алгоритми зазвичай описують хiд розв’язання не
однiєı̈–єдиноı̈ задачi, а цiлого класу однотипних задач.
– Результативнiсть. Виконання будь-якого алгоритму має за-
кiнчитися через скiнченну кiлькiсть крокiв iз деяким результа-
том. Oднак к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н-
26