властивості алгоритму
Розглянемо властивості алгоритму. а потім види алгоритмів.
Дискретність. Описуваний за допомогою алгоритму процес повинен бути розбитий на послідовність окремих кроків, т. Е. Алгоритм повинен складатися з окремих закінчених дій.
Визначеність (детермінованість). Це властивість означає, що неоднозначність тлумачення записи алгоритму неприпустима, багаторазове застосування алгоритму до одних і тих же вихідних даних повинно приводити до одних результатами.
Результативність. Алгоритм обов'язково повинен приводити до певного результату за кінцеве число кроків і забезпечувати його видачу на пристрій виведення інформації (екран монітора, принтер) або в файл. Для цього в алгоритмі повинно бути передбачено виключення неприпустимих ситуацій (поділ на нуль, обчислення логарифма нуля або негативного числа і т. П.). Якщо рішення задачі не існує, то в якості результату може бути виведено повідомлення про це.
Послідовність правил, що спричинило за собою процедуру нескінченного виконання операцій, алгоритмом не є.
Масовість. Зазвичай алгоритми призначені для вирішення не однієї конкретної задачі, а деякого класу задач даного типу. У найпростішому випадку масовість має на увазі можливість використання різних вихідних даних.
Формальність. Ця особливість вказує на те, що будь-який виконавець, здатний сприймати і виконувати інструкції алгоритму, діє формально, т. Е. Відволікається від змісту поставленого завдання, не вникає в її сенс, а лише строго виконує інструкції.
Ефективність. Це властивість, яке дозволяє вирішити задачу за прийнятний час.
Розрізняють такі види алгоритмів:
лінійний - список команд (вказівок), що виконуються послідовно один за одним;
розгалужується - алгоритм, що містить хоча б одну перевірку умови, в результаті якої забезпечується перехід на один з можливих варіантів рішення;
циклічний - алгоритм, який передбачає багаторазове повторення однієї і тієї ж послідовності дій. Кількість повторень обумовлюється вихідними даними або умовою завдання.
Будь-яка алгоритмічна конструкція може містити в собі іншу конструкцію того ж чи іншого виду, т. Е. Алгоритмічні конструкції можуть бути вкладеними.