Алгоритм Определения, свойства, типы, описание МОУ Лицей №130 имени академика М.А.Лаврентьева Новосибирск, 2005 – Гусельникова Е.В.
Определения алгоритма Определение 1: Алгоритм - это система точных и понятных предписаний о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа. Определение 2: Алгоритм - это правило, предписывающее последовательность действий над входной информацией и приводящее к результату.
Свойства алгоритмов Дискретность Понятность Определенность Массовость Конечность Результативность
Дискретность Процесс разбивается на ряд последовательных предписаний 1 -> 2 -> 3
Понятность Представление алгоритма в виде текста, понятного для исполнения
Определенность Получение одинакового результата каждым исполнителем, которому понятен алгоритм
Массовость Справедливость алгоритма для различных наборов данных
Конечность Количество последовательных действий не является бесконечным, их можно посчитать 1. 2. 3. 4.
Результативность После точного выполнения всех предписанных действий непременно должен быть получен результат за конечное число шагов
Примеры свойств Дискретность Казнить нельзя, помиловать! Казнить нельзя помиловать
Примеры свойств Понятность Инструкция по-русски и с картинками Инструкция на общеафриканском языке
Примеры свойств Определенность На дубе ларец, в ларце утка, в утке яйцо, в яйце игла, в игле смерть Кащея Поди туда, не знаю куда, принеси то, не знаю что
Примеры свойств Массовость Каждой дочери отец привез по дорогому подарку Принц мог жениться только на настоящей принцессе
Примеры свойств Конечность Мама сварила отличную кашу в горшочке Каша уже заполнила все улицы, а горшочек варил кашу
Примеры свойств Результативность Мышка хвостиком вильнула, яйцо и разбилось Баба била-била, не разбила
Исполнитель Исполнитель - это человек или коллектив людей, вооруженных набором инструментов и обученный выполнению некоторой совокупности операций в заданной последовательности. или Автоматическое устройство (электронное, электромеханическое и т.п.), изготовленное таким образом, что, будучи включенным в работу, выполняет заданную последовательность операций над некоторым исходным продуктом, преобразуя его в заданный конечный продукт.
Исполнитель алгоритма Исполнитель алгоритма - некоторая абстрактная или реальная система, способная выполнить действия, предписываемые алгоритмом. Обычно исполнитель ничего не знает о цели алгоритма. Он выполняет все полученные данные В информатике универсальным исполнителем алгоритмов является компьютер.
Характеристика исполнителя Исполнителя характеризуют: среда элементарные действия система команд отказы Среда ( или обстановка)- это "место обитания" исполнителя. Система команд. Каждый исполнитель может выполнять команды только из некоторого строго заданного списка- системы команд исполнителя. Для каждой команды должны быть заданы условия применимости, (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды. После вызова команды исполнитель совершает соответствующее элементарное действие. Отказы. Отказы исполнителя возникают, если команда вызывается при недопустимом для неё состоянии среды.
Типы алгоритмов Линейный алгоритм – алгоритм, в котором команды исполняются последовательно, одна за другой. Разветвляющийся алгоритм – алгоритм, в котором после проверки условия в разных ситуациях исполняются разные наборы команд. Циклический алгоритм – алгоритм, в котором содержится команда повторения, т.е. цикл.
Способы описания алгоритма Устная формулировка Запись последовательности команд Графическое представление алгоритма
Способы описания алгоритма Запись последовательности команд Алгоритм всегда рассчитан на конкретного исполнителя. В нашем случае таким исполнителем является ЭВМ. Для обеспечения возможности реализации на ЭВМ алгоритм должен быть описан на языке, понятном компьютеру, то есть на языке программирования. Программа для ЭВМ представляет собой описание алгоритма и данных на некотором языке программирования, предназначенное для последующего автоматического выполнения.
Способы описания алгоритма Графическое представление алгоритма Прямоугольник используется для обозначения действия, которое следует выполнить исполнителю. Ромбом обозначается проверка условия в виде логического выражения, которое может быть истинным или ложным, или вопроса, на который можно ответить «да» или «нет». Параллелограмм – блок, использующийся для обозначения ввода данных или вывода результатов. Эллипс указывает начало или конец алгоритма Такие блоки используют в специальном языке блок-схем, с помощью которого разработчики алгоритмов могут записывать алгоритмы в одинаковом и удобном виде для чтения