«Алгоритмы и исполнители»
Люди ежедневно пользуются разнообразными правилами, инструкциями, рецептами, которые состоят из определенной последовательности команд. Некоторые из них настолько вошли в нашу жизнь, что мы выполняем их, почти не задумываясь. Иногда говорят, автоматически. Например, для приготовления яичницы с n яиц нужно действовать таким образом:
- 1. Поставить сковороду на плиту.
- 2. Положить на сковороду кусочек сливочного масла.
- 3. Включить конфорку.
- 4. Подождать, пока масло на сковороде растает.
- 5. Каждое с n яиц разбить, а его содержимое вылить на сковороду.
- 6. Посолить.
- 7. Подождать, пока приготовится.
- 8. Выключить конфорку.
Такая запись последовательности указаний называют алгоритмом.
Алгоритм — это запись оконченной последовательности команд, выполнение которых приводит к решению определенной задачи.
Алгоритм разрабатывается для решения некоторой задачи. При этом:
- • выделяются фигурирующие в задаче объекты, устанавливаются свойства объектов, отношения между объектами и возможные действия с объектами;
- • определяются исходные данные и результат;
- • определяется точная последовательность действий исполнителя, обеспечивающая переход от исходных данных к результату;
- • последовательность действий записывается на языке, понятном исполнителю
Команда (алгоритма) — это побудительное предложение, которое указывает, какое действие должен выполнить исполнитель алгоритма.
Исполнитель (алгоритма) — живое существо (человек или животные) или автоматическое устройство (робот, электронная вычислительная машина и т.п.), способна действовать соответственно с алгоритмом.это
Система команд исполнителя — это множество (совокупность) всех команд, которые может выполнять данный исполнитель.
Среда выполнения алгоритма — объекты, с которыми работает исполнитель в процессе выполнения алгоритма.
Свойства алгоритма: дискретность, определенность, понятность, конечность, результативность, массовость, эффективность.
Дискретность (латинской discretus — разделенный, разрывной) алгоритма означает, что выполнение алгоритма сводится к выполнению отдельных действий (шагов) в определенной последовательности. Причем, каждая команда алгоритма выполняется за конечный промежуток времени.
Определенность (однозначность) означает, что алгоритм однозначно определяет порядок действий исполнителя, результат этих действий и не нуждается в дополнительном толковании. Алгоритм не может содержать команды, которые исполнитель может воспринимать неоднозначно. Например, «Взять 2-3 ложки сахара», «Немного подогреть молоко», «Выключить свет через несколько минут» и т.п... Кроме того, в алгоритмах недопустимые ситуации, когда после выполнения очередного указания исполнителю непонятно, какое указание он должен выполнять следующей.
Конечность означает, что выполнение алгоритма закончится после конечного (возможно, довольно большого) количества шагов и за конечное время для произвольных входных данных.
Результативность алгоритма означает, что после окончания выполнения алгоритма обязательно:
- • или получают решение-результат соответственно поставленной цели;
- • или устанавливают отсутствие таких решений (множество решений пустое);
- • или устанавливают невозможность решения задачи.
Массовость алгоритма означает, что алгоритм можно применить к целому классу однотипных задач, для которых общими есть условие и ход решения и которые отличаются лишь начальными (входными) данными. Например, алгоритмом действий, составленным для одного кассира, могут успешно воспользоваться все кассиры супермаркета. А программой поиска кода и подсчета суммы стоимостей товаров, приобретенных покупателем, — все компьютеры супермаркета
Эффективность алгоритма описывает время выполнения и объем ресурсов, необходимых для выполнения алгоритма: чем меньше времени (временная эффективность) и ресурсов (пространственная эффективность), тем эффективность выше.
-->