Вы находитесь на странице: 1из 14

Свойства алгоритма

Презентация к уроку
Вступление
Каждый алгоритм создаётся в расчёте на
выполнение конкретным исполнителем. К
примеру, вам ничего не стоит выполнить
алгоритм, содержащий в своей записи всего
лишь одно действие:
Сходить в булочную за хлебом.

Однако вашему родственнику, приехавшему в


первый раз из другого города, придётся
подробно объяснить, как пройти в булочную.
Для него алгоритм будет состоять из совсем
иных действий и запишется намного длиннее.
Не исключено, что вам придётся предусмотреть
отсутствие хлеба в ближайшей булочной и
Те действия, которые может совершить исполнитель,
указать в алгоритме,
называются что делатьдействиями.
его допустимыми в этом случае.
Алгоритм
должен содержать только те действия, которые допустимы
для исполнителя, которому предназначается данный
алгоритм.
Что значит допустимые
действия?
Дан алгоритм:
 Войти в реку.
 Пройти по дну до противоположного
берега.
 Выйти на противоположный берег, если
на протяжении хотя бы 500 метров
глубина реки больше 3 метров.
Человек (без скафандра) не Зато легко справится
способен выполнить алгоритм: специальный робот -
проводник.
Объекты, над которыми исполнитель
может совершать действия, образуют
так называемую среду исполнения.
Для алгоритмов, встречающихся в
математике, средой того или иного
исполнителя могут быть числа разной
природы - натуральные, целые,
рациональные, действительные и т.д.,
буквы и буквенные выражения,
уравнения. Исходные данные и
результаты любого алгоритма всегда
принадлежат сфере того исполнителя,
для которого предназначен алгоритм.
Итак свойства:
I. Дискретность
Под дискретностью понимается то,
что алгоритм состоит из описания
последовательности шагов,
организованный таким образом, что
в начальный момент задаётся
исходная ситуация, а после каждого
следующего шага ситуация
изменяется на основе действий,
совершенных в предыдущих шагах.
Дискретность алгоритма означает,
что он исполняется по шагам:
каждое действие, предусмотренное
алгоритмом, исполняется только
после того, как закончилось
исполнение предыдущего.
Но здесь важно заметить, что
Давайте рассмотрим пример: Пусть
нам
необходимо вычислить значение
выражения, где встречается возведение в
степень какого-либо числа. Для
исполнителя, знакомого с этой операцией
(например 10-классник) никаких
комментариев к такой команде не будет, и
она является отдельным шагом алгоритма.
Пусть исполнитель (пятиклассник) не умеет
возводить в степень числа. В этом случае
мы должны эту команду разбить на более
мелкие и выразить степень через
умножение. А если наш исполнитель не
умеет умножать (первоклассник)? Тогда
возведение в степень необходимо расписать
через сложение. Теперь представьте
ситуацию, что последний алгоритм (через
сложение) выполняет первый исполнитель
(десятиклассник). Алгоритм, конечно, будет
выполнен, но с какими затратами!
II. Определённость
Определенность означает, что на
каждом шаге однозначно определены
действия исполнителя, совершенные на
предшествующих шагах алгоритма. К
примеру, в одном из кулинарных
рецептов сказано:
Слегка потрясите, чтобы смесь стала
комковатой. Подогрейте коньяк в
маленькой кастрюльке и влейте её в
смесь.
Сможет ли формальный исполнитель
выполнить данный алгоритм?
Формальному исполнителю здесь
неясно, требуется ли трясти смесь,
пока она вся не станет комом, и
какой всё-таки величины кастрюля.
Большая или маленькая? И до
какой температуры надо подогреть
коньяк. Так что такой алгоритм
любому исполнителю выполнить
довольно трудно, практически
невозможно. В алгоритме не
должны присутствовать не
определённые слова: немного,
чуть-чуть, слегка и т. д. В качестве
примеров неопределенных понятий
можно привести «солить по-вкусу»,
«довести до готовности».
III. Результативность
Это свойство подразумевает, что
каждый шаг (и алгоритм в целом)
после своего завершения даёт
определенный результат. Если это по
каким-либо причинам невозможно, то
алгоритм должен сообщать, что
решение задачи не существует. Здесь
к месту будет поговорка «Отсутствие
результата – тоже результат».
Пример: в инструкции по
применению лекарства от кашля
сказано:
Если врач не прописал, то
принимать 3-4 раза в день по 15-20
капель, лучше всего в горячей
сладкой воде.
Здесь не определено, например,
когда должен заканчиваться
алгоритм - когда кашель пройдет
или когда лекарство закончиться!
Свойство результативности обычно
подразумевает конечность
алгоритма, т. е. завершение его
работы за конечное число шагов
(при этом количество шагов может
быть заранее не известным и
IV. Понятность
Алгоритм должен быть понятен не только
автору, но и исполнителю. Если мы
предложим исполнителю, например утюгу
постирать одежду, то он никогда этого не
сделает, потому, что не поймет, т. к. такой
программы в нём не заложено.

Или, например, если мы


предложим какому-нибудь
мальчику испечь торт, то как
правило у него ни чего не
получится, потому что они этого
делать не умеют.
Но если мы составим
подробный алгоритм работы,
разобьем его на элементарные
шаги, такие, что он без труда
поймёт и сможет выполнить
каждый шаг, то он сможет
успешно испечь любой торт.
Каждый шаг алгоритма
обязательно представляет
собой какое-либо допустимое
действие исполнителя. Это
свойство алгоритма называют
понятностью.
V. Массовость
Наконец, еще одно свойство
алгоритма - массовость. Оно
означает, что имеется некоторое
множество задач, которые можно
решить одним алгоритмом.
Массовость алгоритма тесно
связанна с понятностью, в качестве
примера разберем пример с тортом,
чем подробнее будет описан
алгоритм приготовления, тем
больше вероятности, что торт
будет испечен. С точки зрения
практической ценности алгоритмов
важно, что бы его применение было
достаточно большим. Как правило,
практическая ценность алгоритма
не велика, если его можно
Свойства рассмотрены
все!