ними немає інших кроків. Ця властивість дискретності організмів.
Дискретна структура алгоритмів добре видна в алгоритмах виконання арифметичних дій. Наприклад, алгоритм знаходження суми 34 + 23 формулюється так:
) Пишу десятки під десятками, а одиниці під одиницями.
) Складаю одиниці: 4 + 3=7
) Складаю десятки: 3 + 2=5, пишу 5 під десятками.
) Читаю відповідь: сума дорівнює 57.
. Елементарність кроків. Кожен крок програми, яка задає алгоритм, повинен складатися з здійсненних дій. Це означає, що передбачені дії були здійснимі тими виконавцями, яким вона адресована. Так, наприклад, завдання «вирішити рівняння х + 9=17» один учень впевнено виконує і отримує шукане значення змінної х, оскільки володіє всіма діями, необхідними для вирішення найпростіших рівнянь:
) прочитай рівняння;
) встанови, який компонент невідомий;
) згадай правило, як знайти значення невідомого;
) знайди значення невідомого;
) зроби перевірку;
) запиши відповідь.
Другий не справляється із завданням або отримує невірну відповідь, оскільки не володіє хоча б одним з дій, які потрібні для виконання даного завдання.
Як видно з прикладу під словом «дія» розуміються не тільки математичні операції, але воно має і більш широкий зміст.
Крім того, в алгоритмі неприпустимі також ситуації, коли після виконання чергового дії виконавцю неясно, яке з них повинно виконанняться на наступному етапі.
Все сказане характеризує властивість алгоритму, зване властивістю елементарних кроків.
. Визначеність. Кожна програма, що задає алгоритм, повинна складатися з кінцевого числа кроків, а кожен крок повинен бути точно і однозначно визначений. Ця властивість алгоритмів називається властивістю визначеності (або детермінованості).
. Результативності. Програма, що задає алгоритм повинна бути спрямована на отримання певного результату. Отримання результату за кінцеве число кроків складає властивість результативності алгоритму. Ця риса виражається в тому, що алгоритм завжди спрямований на отримання деякого шуканого результату. Ця риса алгоритму, однак, не передбачає, що алгоритми призводять до отримання потрібного результату при всіх вихідних даних, що належать до певного класу, можливо, що до деяких вихідним даним алгоритм виявляється непридатним, і тоді процес виконання алгоритму або безрезультативно обривається, або ніколи не закінчується.
. Масовість. Програма, що задає алгоритм, повинна бути застосовна до будь-якій задачі розглянутого типу. Іншими словами, кожен алгоритм призначений для вирішення не однієї-єдиної, а будь-який з деякого нескінченного класу однотипних завдань.
Наприклад, алгоритм вирішення лінійного рівняння першого ступеня застосовується для вирішення всіх рівнянь виду ах + b=0. У цьому полягає властивість масовості алгоритмів [Ігнатова, 1989].
Одним із джерел алгоритмів є практика, яка надає нам дві основні можливості: спостереження й експеримент (а також будь-які їхні комбінації).
Об'єктом спостереження може бути якесь жива істота (зокрема, людина), яке вміє вирішувати якусь із виникаючих перед ним завдань. Описуючи його дії, аналізуючи їх залежність від зміни умов, можна отримати алгоритм для вирішення згаданої задачі. Отримувані цим шляхом алгоритми зазвичай називають імітують. У більш складному випадку об'єктом спостереження може бути колектив спільно діючих живих істот.
У ще більш складних випадках спостерігають який-небудь процес, що протікає в неживій природі, організмі або в суспільстві, вивчають вплив на нього різних факторів; врешті-решт, може бути отриманий алгоритм управління цим процесом (який буде ефективним, якщо існує реальна можливість змінювати визначають процес фактори). Алгоритми, отримані таким чином, прийнято називати емпіричними.
Алгоритми іноді можна отримати експериментально, підбираючи дії, що призводять до бажаного результату. Їх не виділяють в окрему групу і умовно відносять до емпіричним.
В якості другого джерела слід вказати наукову теорію, з основних положень і встановлених фактів якої алгоритми в деяких випадках можуть бути виведені.
Третім джерелом нових алгоритмів може бути сукупність вже накопичених. Коли за допомогою спеціальних прийомів з наявних алгоритмів можна отримувати нові.
Нарешті, четвертим джерелом алгоритмів може бути винахідливість їхнього розробника. Алгоритми кодування та декодування по заданому ключу...