Масовість - алгоритм вирішення задачі розробляється в загальному вигляді - він повинен бути застосовний для деякого класу задач, що розрізняються лише вихідними даними. (Вихідні дані можуть вибиратися з деякої області, яка називається областю застосовності алгоритму .) p> Розглянемо властивості алгоритмів на прикладах: В
Приклад. алгоритм виконання відкривання дверей.
1. Дістати ключ з кишені.
2. Вставити ключ у замкову щілину.
3. Повернути ключ два рази проти годинникової стрілки.
4. Вийняти ключ.
Вас запросили в гості і докладно пояснили, як дістатися:
1. Вийти з дому.
2. Повернути праворуч.
3. Пройти два квартали до зупинки.
4. Сісти в автобус № 5, що йде до центру міста.
5. Проїхати три зупинки.
6. Вийти з автобуса.
7. Знайти за вказаною адресою будинок і квартиру.
Зрозумілість - кожна команда повинна входити в систему команд виконавця.
В
Дискретність (від лат. discretus - розділений, переривчастий) - це розбиття алгоритму на ряд окремих закінчених дій (кроків). У наведених вище алгоритмах спільним є необхідність суворого дотримання послідовності виконання дій. Спробуємо переставити в першому прикладі друге і третє дії. Ви, звичайно, зможете виконати і цей алгоритм, але двері навряд чи відкриється. А якщо поміняти місцями, припустимо, п'яте і друге дії у другому прикладі, алгоритм стане нездійсненним.
Детермінованість (від лат. determinate - визначеність, точність) - будь-яка дія алгоритму має бути строго і недвозначно визначено в кожному випадку. Наприклад, якщо до зупинки підходять автобуси різних маршрутів, то в алгоритмі має бути вказаний конкретний номер маршруту - 5. Крім того, необхідно вказати точну кількість зупинок, яке треба проїхати, - скажімо, три.
Кінцівка - кожна дія окремо і алгоритм в цілому повинні мати можливість завершення. У наведених прикладах кожне описане дію реально і може бути виконано. Тому й алгоритм має межу, тобто кінцевий.
Результативність . В алгоритмі повинні бути передбачені всі можливі шляхи вирішення, в тому числі альтернативні . Приклад: алгоритм знаходження більшого з двох заданих чисел А і В:
1. З числа А відняти число В.
2. Якщо вийшло від'ємне значення, то повідомити, що число В більше.
3. Якщо вийшло позитивне значення, то повідомити, що число А більше.
При всій простоті й очевидності алгоритму, не кожен відразу зрозуміє його помилковість . Адже якщо обидва числа рівні, то не вийде ніякого повідомлення . Значить, треба обов'язково передбачити це варіант, наприклад:
1. З числа А відняти число В.
2. Якщо вийшло від'ємне значення, то повідомити, що число В більше.
3. Якщо вийшло позитивне значення, то повідомити, що число А більше.
4. Якщо вийшов нуль, то повідомити, що числа рівні.
Масовість - один і той же алгоритм можна використовувати з різними вихідними даними. em>
Наприклад: алгоритм приготування будь-якого бутерброда.
1. Відрізати скибочку хліба.
2. Намазати його маслом.
3. Відрізати шматок будь-якого іншого харчового продукту (ковбаси, сиру, м'яса).
4. Накласти відрізаний шматок на кусень хліба.
Можливість автоматизації діяльності людини.
Виконуючи алгоритм, виконавець може не вникати в сенс того, що він робить, і разом з тим отримувати потрібний результат . У такому випадку говорять, що виконавець діє формально (механічно), тобто відволікається від змісту поставленого завдання і тільки строго виконує деякі правила, інструкції. p> Побудова алгоритму для вирішення завдання з будь-якої області вимагає від людини глибоких знань в цій області, буває пов'язано з ретельним аналізом поставленого завдання, складними, іноді дуже громіздкими < i> міркуваннями . На пошуки алгоритму вирішення деяких завдань вчені витрачають багато років. Але коли алгоритм створений, рішення з...