Основы объектно-ориентированного программирования на языке 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