16.1. Понятие алгоритма
В повседневной жизни нам приходится решать много задач, простых и сложных: сбор в школу, покупка мороженого, звонок по мобильному телефону. Более сложно получить отметку 10 по информатике, победить на соревнованиях и др.
Для решения любой задачи необходимо выполнить определенные действия (пример 16.1).
Алгоритм — понятная и конечная последовательность точных действий (команд), формальное выполнение которых позволяет получить решение поставленной задачи.
Команда в алгоритме – указание на выполнение конкретного действия. |
Для решения одной и той же задачи могут использоваться разные алгоритмы. Например, для написания поздравительной открытки один учащийся может использовать бумагу и цветные карандаши, другой – текстовый редактор, третий – графический редактор (пример 16.2).
16.2. Понятие исполнителя алгоритма
Каждый алгоритм создается человеком или группой людей. Алгоритм выполняется исполнителями алгоритмов.
Исполнитель алгоритма — человек (группа людей) или техническое устройство, которые понимают команды алгоритма и умеют правильно их выполнять. |
Исполнителем алгоритмов из примеров 16.1 и 16.2 может быть человек. Выполнять алгоритм может робот, детская игрушка, экшн-камера, станки с числовым программным управлением (ЧПУ) (пример 16.3) и т. д.
Команды, которые понимает и может выполнить исполнитель, образуют систему команд исполнителя. В примере 16.4 приведена система команд исполнителя Робот-пылесос. В зависимости от площади и особенностей помещения человек может задать разные режимы работы (алгоритмы) Робота-пылесоса.
Алгоритмы, предназначенные для выполнения на компьютере, записывают на языке программирования. Запись алгоритма на языке программирования называют программой. Исполнителем программ является компьютер.
Компьютерный исполнитель – виртуальный объект, действующий в виртуальной среде (пример 16.5).
Для некоторых исполнителей требуется определенная обстановка. Такую обстановку называют средой обитания исполнителя (пример 16.6).
Исполнитель Шестиклассник (среда обитания – 6-й класс) умеет:
- задумывать натуральное число;
- выполнять арифметические действия над числами;
- записывать числа;
- находить наибольшее и наименьшее число среди заданных чисел.
Ему предлагается выполнить алгоритм:
- Задумать натуральное число.
- Умножить задуманное число на 2.
- К произведению прибавить 10.
- Результат разделить на 2.
- От частного отнять задуманное число.
- Записать результат.
(Рассмотрите пример 16.7).
Пусть среда обитания исполнителя Кисть – лист бумаги. Система команд исполнителя Кисть:
- стрелка – исполнитель рисует отрезок некоторой длины в направлении, указанном стрелкой;
- зачеркнутая стрелка – исполнитель движется в направлении, указанном стрелкой, не оставляя следа (пример 16.8).
Рассмотрим алгоритм определения суточной амплитуды температуры воздуха (пример 16.9):
- Определить максимальную температуру воздуха за сутки.
- Определить минимальную температуру воздуха за сутки.
- Найти разность между максимальным и минимальным значением температур.
Исполнителем этого алгоритма может оказаться любой человек, которому понятны команды алгоритма.
Алгоритм определения азимута на местности может быть таким (пример 16.10):
- Совместить темный конец магнитной стрелки компаса с направлением на север.
- Мысленно провести прямую линию от центра компаса к объекту.
- Определить угол между стрелкой на север и мысленной линией к объекту по направлению часовой стрелки (азимут на север равен 0°).
Из курса математики вам известен алгоритм построения прямоугольной системы координат:
- Построить две перпендикулярные прямые и обозначить ОХ и ОY.
- Выбрать положительное направление и отметить его стрелкой на каждой прямой.
- Отметить начало координат: точку О (число 0).
- Отметить в каждой прямой единичные отрезки.
|
|
В III в. до н. э. древнегреческий математик Евклид изложил правило вычисления наибольшего общего делителя двух натуральных чисел. Это правило считают первым алгоритмом.
|
|
Эвклид |
Аль-Хорезми |
Термин алгоритм (лат. algorithmus) произошел от имени арабского математика Мухаммеда аль-Хорезми (787 – 850.). Он разработал правила выполнения четырех арифметических действий, применяемых и сегодня.
Пример 16.1. Подключение к сети Интернет через Wi-Fi в общественном месте:
- Включить Wi-Fi на мобильном устройстве.
- Выполнить поиск доступных сетей.
- Выбрать доступную сеть.
- Если сеть имеет ключ доступа, уточнить его у администратора.
- Ввести ключ доступа.
Данный алгоритм состоит из 5 команд.
Пример 16.2. Написание поздравительной открытки.
- Открыть графический редактор Paint.
- Нарисовать открытку.
- Распечатать открытку.
Данный алгоритм состоит из трех команд.
Пример 16.3. Станки с ЧПУ, производимые в Республике Беларусь.
Пример 16.4. Система команд исполнителя Робот-пылесос:
- зонировать помещение;
- регулировать подачу воды;
- распознать предметы;
- выполнить уборку;
- выполнить самоочистку.
Робот-пылесос не может выполнить команду, которая не входит в его систему команд, например: позвонить по телефону.
Пример 16.5. Примеры компьютерных исполнителей:
- Чертежник, Робот, Черепаха реализованы для различных языков программирования
- Рыжий кот из программы Scratch.
Пример 16.6. Средой обитания исполнителя алгоритма 16.1 может быть только среда, в которой используются мобильные телефоны. Алгоритм невозможно выполнить при отсутствии сети и точки доступа к сети Интернет.
Алгоритм из примера 16.2 нельзя выполнить, не имея компьютера и принтера.
Пример 16.7. Выполнение алгоритма исполнителем Шестиклассник:
Номер
команды |
Результат выполнения команды |
1 |
105 |
2 |
105*2=210 |
3 |
210 + 10 = 220 |
4
|
220 : 2 = 110
|
5
|
110 — 105 = 5
|
6
|
5
|
Пример 16.8. Выполнение алгоритма для исполнителя Кисть.
Алгоритм
Результат
Пример 16.9. Определение суточной амплитуды температуры воздуха исполнителем Шестиклассник по таблице.
Время наблюдения |
Температура, оС |
6.00 |
+10 |
12.00 |
+17 |
18.00 |
+14 |
24.00
|
+8
|
Максимальный результат +17 °С, минимальный – +8 °С. Амплитуда температур воздуха: 17 °С – 8 °С = 9 °С. Результат выполнения алгоритма: 9.
Пример 16.10. Определение азимута для объектов на рисунке:
Поручим выполнение алгоритма исполнителю Шестиклассник в предположении, что он понимает и может правильно выполнить команды алгоритма. Результат выполнения алгоритма: азимут на дерево 40°; азимут на мельницу равен 220°; азимут на вышку сотовой связи равен 140°.
|
1. Что такое алгоритм?
2. Что называется командой в алгоритме?
3. Что такое исполнитель алгоритма?
4. Кто может быть исполнителем алгоритма?
5. Что называют системой команд исполнителя?
6. Что такое среда обитания исполнителя?
7. Что называется программой?
Упражнения
1. Приведите примеры алгоритмов из повседневной жизни и учебной деятельности.
2. Какие из следующих процессов можно описать в виде алгоритмов?
- Замена колеса в автомобиле.
- Написание домашнего сочинения.
- Сложение двух дробей.
- Забивание гола на футбольном матче.
- Получение изображения белорусского орнамента, показанного на рисунке справа.
- Запись ряда всех натуральных чисел.
|
|
3*Решите подбором задачу Аль-Хорезми: «Я к трети числа прибавил единицу и к четверти числа прибавил единицу. Перемножив эти числа, получил 20. Какое число я взял»?
4. Приведите примеры исполнителей алгоритмов.
5. Напишите систему команд одного из исполнителей примера 16.3.
6. Выполните алгоритм из примера 16.7 несколько раз для разных чисел. Сравните полученные результаты. Сделайте выводы.
7. По командам исполнитель Кисть рисует часть окружности в указанном направлении. Определите результат выполнения алгоритма:
8. Напишите алгоритм морфологического разбора имени прилагательного в предложении. Выполните этот алгоритм для прилагательного «цифровом» из фразы «Современный человек живет в цифровом мире».
9* Придумайте исполнителя алгоритмов со своей системой команд и напишите для него алгоритм решения некоторой задачи.