версия для слабовидящих
Кривихина Надежда Михайловна 3 года назад

Понятие Алгоритма

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

1. Изучить образ автомобиля по имеющейся модели.

2. Начертить двери, кузов машины на бумаге.

3. Вырезать эскизы.

4. Попробовать скрепить эскизы, откорректировать ошибки.

5. Склеить части модели.

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

Каждый из нас ежедневно использует различные алгоритмы: инструкции, рецепты, правила и т.п. Обычно мы это делаем, не задумываясь. Примеры.

1. Изучим расписание занятий на следующий день: Физика.

Математика.

Русский язык.

Физическое воспитание.

Начинаем подготовку к этим занятиям в соответствии с расписанием.

Запишите алгоритм выполнения открывания двери.

1. Достать ключ из кармана.

2. Вставить ключ в замочную скважину.

3. Повернуть ключ два раза против часовой стрелки.

4. Вынуть ключ.

Запишите другой алгоритм. Вас пригласили в гости и подробно объяснили, как добраться:

1. Выйти из дома.

2. Повернуть направо.

3. Пройти два квартала до остановки.

4. Сесть в автобус № 5, идущий к центру города.

5. Проехать три остановки.

6. Выйти из автобуса.

7. Найти по указанному адресу дом и квартиру.

Ha первый взгляд эти 3 алгоритма не имеют между собой ничего общего. Однако при внимательном изучении можно заметить одно существенное сходство - строгий порядок выполнения действий. Правда, алгоритм 1 как частный случай выполняется при любом порядке действий, предложенных в нем. Но алгоритм 2 при перестановке, например, 2 и 3 действий может быть выполнен, но не приведет к желаемому результату - дверь не будет открыта. Если же в алгоритме 3 поменять местами 4 и 5 действия, он станет невыполняемым. Таким образом, для алгоритма важен не только набор действий, но и то, как они организованы, т.е. в каком порядке выполняются. Это общее свойство всех алгоритмов.

Теперь мы можем сказать, что А Л Г О Р И Т М - это организованная последовательность действий. Это формулировка не может считаться определением алгоритма, т.к. не объяснены понятия "организованная" и "действия". Абсолютно строгого определения алгоритма не существует. Это - одно из фундаментальных понятий информатики. Такое же, как понятие точки, прямой и плоскости в геометрии, пространстве и времени в физике, вещества в химии и т.д.

Понятие алгоритма возникло и используется давно, значительно раньше появления компьютеров. Само слово «алгоритм» происходит от латинской формы написания имени выдающегося математика средневекового Востока Мухаммеда Аль-Хорезми, который сформулировал правила выполнения арифметический действий. Но широким распространением это понятие обязано основополагающей идее - идее автоматизации поведения исполнителя - автомата, реализуемой на основе алгоритма.

Это накладывает на записи алгоритмов целый ряд обязательных требований, которые мы сформулируем в виде перечня свойств, которым должны удовлетворять все алгоритмы.

Дискретность (от лат. discretus — разделенный, прерывистый) – это разбиение алгоритма на ряд отдельных законченных действий (шагов). В приведенных выше алгоритмах общим является необходимость строгого соблюдения последовательности выполнения действий. Попробуем переставить в первом примере второе и третье действия. Вы, конечно, сможете выполнить и этот алгоритм, но дверь вряд ли откроется. А если поменять местами, предположим, пятое и второе действия во втором примере, алгоритм станет невыполнимым.

Детерминированность (от лат. determinate — определенность, точность) - любое действие алгоритма должно быть строго и недвусмысленно опре делено в каждом случае.

Например, если к остановке подходят автобусы разных маршрутов, то в алгоритме должен быть указан конкретный номер маршрута — 5. Кроме того, необходимо указать точное количество остановок, которое надо проехать, — скажем, три.

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

Массовость - один и тот же алгоритм можно использовать с разными исходными данными.

Например: алгоритм приготовления любого бутерброда.

1. Отрезать ломтик хлеба.

2. Намазать его маслом.

3. Отрезать кусок любого другого пищевого продукта (колбасы, сыра, мяса).

4. Наложить отрезанный кусок на ломоть хлеба.

Результативность

Это обязательное требование к алгоритмам, смысл которого состоит в том, что при точном исполнении всех предписаний алгоритма процесс должен прекратиться за конечное число шагов и при этом должен быть получен какой-либо определенный ответ на вопрос задачи.

Результативность - в алгоритме не было ошибок.

Пример: рассмотрим алгоритм нахождения большего из двух заданных чисел А и В:

1. Из числа А вычесть число В.

2. Если получилось отрицательное значение, то сообщить, что число В больше.

3. Если получилось положительное значение, то сообщить, что число А больше.

При всей простоте и очевидности алгоритма, не каждый сразу поймет его ошибочность. Ведь если оба числа равны, то не получится ни какого сообщения. Значит, надо обязательно предусмотреть это вариант, например:

1. Из числа А вычесть число В.

2. Если получилось отрицательное значение, то сообщить, что число В больше.

3. Если получилось положительное значение, то сообщить, что число А больше.

4. Если получился ноль, то сообщить, что числа равны.

Теперь с учетом рассмотренных свойств алгоритма (в частности, свойства 2) мы можем уточнить понятие алгоритма.

А Л Г О Р И Т М - это строго определенная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.

Разработка алгоритма – трудоемкая задача, требующая от человека глубоких знаний и больших временных затрат. Решение задачи по готовому алгоритму требует от исполнителя только строгого следования заданным предписаниям. Исполнитель не обязан вникать в смысл того, что он делает, и рассуждать, почему он поступает так, а не иначе, т.е. он действует формально – по командам.

Правила описания

Для задания алгоритма необходимо описать следующие его элементы:

- набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов;

- правило начала;

- правило непосредственной переработки информации (описание последовательности действий);

- правило окончания;

- правило извлечения результатов.

Типы алгоритмических структур

1. Линейный алгоритм

2. Алгоритм с ветвлением

3. Циклический алгоритм

Способы описания алгоритмов

Наиболее распрастраненными способами описания алгоритмов являются словесно-формульный и структурный (блок-схемный).

Словесно-формульный

При словесно-формульном способе алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий.

Пусть, например, необходимо найти значение следующего выражения:

у = 2а – (х+6).

Алгоритм решения этой задачи может быть записан в следующем виде:

1. Начало

2. Ввести значения а и х.

3. Сложить х и 6.

4. Умножить a на 2.

5. Вычесть из 2а сумму (х+6).

6. Вывести у как результат вычисления выражения.

7. Конец

Поделиться:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.