Что такое алгоритм?
Практическая работа № 18 «Управление исполнителем с пульта»
• алгоритм • исполнитель • система команд исполнителя • среда исполнителя • состояние исполнителя • дискретность • понятность • определённость • конечность • корректность • массовость • управление с пульта • программное управление
Многие действия, которые мы выполняем в жизни, можно записать как последовательность шагов.
Например, когда строят дом, сначала заливают фундамент, затем возводят стены, потом делают крышу. Бригадир строителей точно знает, как правильно выполнить каждую операцию. Менять порядок действий нельзя, иначе стройка закончится неудачно.
В этой главе мы будем изучать такие точно определённые правила выполнения действий. В информатике их называют алгоритмами.
Слово «алгоритм» происходит от имени средневекового арабского учёного Мухаммеда аль-Хорезми, который в IX веке описал правила вычислений с десятичными числами. Работы аль-Хорезми были переведены на латинский язык и стали известны в Европе. Через некоторое время слово «алгоритм» (от имени автора, которое по-латыни писали как Algorizmi или Algorizmus) стало обозначать любую систему вычислений по определённым правилам.
Мухаммед аль-Хорезми
Опишите алгоритмы:
а) пополнения счёта мобильного телефона;
б) поездки на автобусе в соседний город.
Алгоритмы составляют люди, причём нередко на разработку алгоритмов решений сложных задач уходят многие годы. Но как только алгоритм придуман, можно поручить его выполнение автомату (например, компьютеру), который просто выполняет инструкции, не вникая в их смысл. Говорят, что такой исполнитель действует формально, не рассуждая и не обдумывая содержание задачи, которую он решает.
Как правило, любая задача может быть решена с помощью разных алгоритмов. Их можно сравнивать, например, по времени, которое требуется для решения задачи. Лучшим обычно считают алгоритм, который решает задачу быстрее всех.
Компьютерные программы — это алгоритмы, записанные на языке, понятном компьютеру. Поэтому изучать алгоритмы нужно для того, чтобы понимать, как работает компьютер, и научиться решать с его помощью сложные задачи.
Приведите примеры алгоритмов, которые умеет выполнять:
а) ребёнок-дошкольник;
б) собака;
в) мобильный телефон;
г) стиральная машина.
Сможет ли годовалый ребенок сходить в магазин за хлебом? Сможет ли собака оплатить счёт за квартиру? Конечно, нет. Любой алгоритм составляется для какого-то конкретного исполнителя.
Исполнитель — это человек, животное или машина, которые могут понимать и выполнять некоторые команды. Полный набор команд исполнителя называется системой команд исполнителя (СКИ).
Теперь можно дать определение алгоритма.
Алгоритм — это точное описание порядка действий некоторого исполнителя.
Система команд простейшего исполнителя Робот, который умеет только передвигаться по ячейкам клетчатой доски, содержит команды вверх, вправо, вниз и влево (рис. 6.1).
Рис. 6.1
Других команд Робот не понимает и выполнить не может.
Любой исполнитель работает в некотором окружении — среде.
Среда исполнителя Робот — клетчатое поле со стенами, которые обозначены жирными линиями.
Робот не может ходить сквозь стены. Например, Робот на рис. 6.1 не может выполнить последовательность команд
вверх
вверх
потому что столкнётся со стеной.
Исполнители могут находиться в разных состояниях и в зависимости от этого могут (или не могут) выполнять разные команды. Например, незаряженное ружьё не выстрелит, а лежащий человек не сможет прыгнуть, не изменив своё состояние. Грузовик с пустым кузовом не сможет засыпать яму песком.
Что нужно для того, чтобы описать состояние исполнителя Робот? В каких случаях этот исполнитель не сможет выполнить некоторые команды?
Следующая страница Свойства алгоритма