Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Рабочая тетрадь1_брошюра.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Урок 2. Исполнители

Исполнители часто встречаются в сказках. В одной из них Иван-Царевич говорит Избушке-На-Курьих-Ножках: “Избушка, избушка! Встань к лесу задом, ко мне передом!”. При этом команда должна быть задана очень точно, чтобы исполнитель ее понял. В сказке “Али-Баба и сорок разбойников” волшебная дверь открывалась по команде “Сезам, откройся!”. Жадный Касым, тайно проникший в пещеру, забыл эту фразу и не смог выйти из пещеры.

И Избушка-На-Курьих-Ножках, и волшебная дверь имеют много общего: они умеют понимать и выполнять некоторые точно заданные команды, то есть являются исполнителями.

Исполнитель – человек, животное или машина, способные понимать и выполнять некоторые команды.

Исполнителями могут быть:

  • машины: станки, роботы, бытовые приборы (стиральная машина, магнитофон, плеер и т.п.), компьютеры;

  • растения: подсолнух (разворачивается к солнцу), кувшинки (закрываются на ночь);

  • животные: дрессированная собака (санитар, розыскная, охотничья), кошка, лошадь;

  • люди: ученик, рабочий, солдат, учитель, ...

Животные и человек как исполнители отличаются от всех остальных исполнителей тремя основными признаками:

  1. Они могут понимать команды в различных вариантах (например "Сядь!", "Садись!", "Присядь!").

  2. Они могут отказаться исполнять команду, если она им не нравится ("Ешь манную кашу!", "Выстрели в окно из рогатки!", "Отдай кость!"). То есть человек, и, в определенной степени, животное, обладают волей и отвечают за свои действия.

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

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

Вспомним одно из свойств алгоритма, а именно формальность. Оно означает, что исполнитель может не понимать смысла алгоритма, но все равно правильно его выполнить. Всегда ли так может поступить человек или животное? Наверное, нет.

Человек не исполняет алгоритм бездумно и формально, то есть зачастую здравый смысл берет верх над инструкциями, на сколько бы строгими они не были (например, идите прямо до перекрестка и никуда не сворачивайте, это не означает, что вы станете наступать на прохожих и опрокидывать предметы). Сможет ли робот огибать препятствия, если в его алгоритме об этом ничего не сказано? Вряд ли.

И, наконец, человеку (и в какой степени и животному), как правило, известна конечная цель, и он к ней стремится, порою уточняя и дополняя алгоритм. Например, алгоритм "Как добраться до библиотеки": необходимо идти по одной улице, на перекрестке перейти на соседнюю, у следующего светофора повернуть налево и дальше идти прямо, пока не увидите здание библиотеки. Однако это не означает, что, увидев здание библиотеки, вы остановитесь и дальше не пойдете. А как поступил бы на вашем месте робот?

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

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

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

Каждый исполнитель характеризуется двумя основными параметрами: среда исполнителя и система команд исполнителя.

Среда исполнителя – это объекты, которые окружают исполнителя и с которыми он взаимодействует.

Система команд исполнителя (СКИ) – набор команд, понятных исполнителю. Исполнитель может выполнять только те команды, которые входят в его СКИ.

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

Существует три вида ошибок исполнителей:

“НЕ ПОНИМАЮ”

Данной команды нет в списке команд исполнителя, и он ее не понял. Вероятно, мы ошиблись в записи текста команды.

“НЕ МОГУ”

Исполнитель понял команду, но не может ее выполнить. Например, роботу дана команда “вперед”, а впереди стоит стенка и он не может идти. Или собаке скомандовали “Сядь!”, а она уже сидит.

ЛОГИЧЕСКИЕ ОШИБКИ

Исполнитель понял команду и выполнил ее, но результат получился не тот, что мы от него ожидали. Причина этого – наша ошибка в составлении задания (алгоритма).

Задания:

  1. Дана блок-схема алгоритма, определите, что выполняет данный алгоритм.

О твет:

Обратите внимание, в этом алгоритме мы столкнулись с новым элементом блок-схемы. Это параллелограмм. Как вы думаете, какую роль он играет в данном алгоритме?

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

  1. Оформите в виде блок-схемы алгоритм вычисления периметра треугольника, зная его стороны.

  1. Пусть у нас есть числовая ось.

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

К

О

К

н может прыгать на три единицы вперёд и на две единицы назад.

К

Запишите систему команд исполнителя Кузнечик.

Составьте алгоритм, который переводит Кузнечика из точки 0 в точку 7.

Перевести Кузнечика из точки 0 в точку 2.

Кузнечик начал выполнение программы в точке 0, а закончил в точке 2. Затем та же программа была выполнена ещё раз. Где теперь оказался кузнечик?

О твет:

Придумайте такой алгоритм, при выполнении которого Кузнечик бы выдал вам ошибку «НЕ МОГУ».