Что значит формальный исполнитель
Формальные исполнители алгоритма
Формальный исполнитель — это исполнитель, который выполняет все команды алгоритма строго в предписанной последовательности, не вникая в его смысл, не внося ничего в алгоритм и ничего не отбрасывая. Обычно под формальным исполнителем понимают технические устройства, автоматы, роботов и т. п. Компьютер можно считать формальным исполнителем.
Программы на языке произвольного формального исполнителя могут состоять только из элементарных команд, которые входят в его систему (которые исполнитель «понимает»).
Исполнитель может иметь свою среду (например, систему координат, клеточное поле и др.). Среда исполнителя — это совокупность объектов, над которыми он может выполнять определенные действия (команды), и связей между этими объектами. Алгоритмы в этой среде выполняются исполнителем по шагам.
■ Пример 2. Исполнитель Крот имеет следующую систему команд:
1. вперед k — продвижение на указанное число шагов вперед;
2. поворот s — поворот на s градусов по часовой стрелке;
3. повторить m [команда1 … командаN] — повторить m раз серию указанных команд.
Какой след оставит за собой исполнитель после выполнения следующей последовательности команд?
Повторить 5 [вперед 10 поворот 72]
Решение. Команда вынуждает исполнителя 5 раз повторить набор действий: пройти 10 шагов вперед и повернуть на 72° по часовой стрелке. Так как поворот происходит на один и тот же угол, то за весь путь исполнитель повернет на 5 х 72° = 360°. Поскольку все отрезки пути одинаковой длины и сумма внешних углов любого многоугольника составляет 360°, то в результате будет оставлен след в форме правильного пятиугольника со стороной в 10 шагов исполнителя.
Заметим, что если увеличить количество повторов серии команд, то исполнитель будет повторно передвигаться по тем же отрезкам (произойдет повторное движение по тому же пятиугольнику).
■ Пример 3. В системе команд предыдущего исполнителя Крот сформировать алгоритм вычерчивания пятиступенчатой лестницы (длина ступеньки — 10 шагов исполнителя).
Решение. За каждый шаг цикла должно происходить 4 действия: движение вперед на 10 шагов исполнителя, поворот на 90° по часовой стрелке, еще 10 шагов вперед и поворот на 90° против часовой стрелки (= 270° по часовой). В результате за один шаг цикла формируется ломаная из двух отрезков длиной 10 под прямым углом. За пять таких шагов сформируется 5–ступенчатая лестница (ломаная будет содержать 10 звеньев).
Повторить 5 [вперед 10 поворот 90 вперед 10 поворот 270]
Блок–схема
Блок–схема — наглядный способ представления алгоритма. Блок–схема отображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Определенному типу действия соответствует определенная геометрическая фигура блока. Линии, соединяющие блоки, определяют очередность выполнения действий. По умолчанию блоки соединяются сверху вниз и слева направо. Если последовательность выполнения блоков должна быть иной, используются направленные линии (стрелки).
Основные элементы блок–схемы алгоритма:
Общий вид блок–схемы алгоритма:
■ Пример 4. Алгоритм целочисленных преобразований представлен в виде фрагмента блок–схемы. Знаком := в нем обозначен оператор присваивания некоторого значения указанной переменной. Запись X := 1 означает, что переменная Х принимает значение 1.
Определить результат работы алгоритма для исходных данных Х = 7, Y = 12.
1. Блок ввода данных определит исходные значения переменных Х и Y (7 и 12 соответственно).
2. В первом условном блоке осуществляется сравнение значений Х и Y. Поскольку условие, записанное в блоке, неверно (7
Дата добавления: 2020-11-29 ; просмотров: 507 ; Мы поможем в написании вашей работы!
Исполнители вокруг нас
Урок 24. Информатика 6 класс ФГОС
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.
Получите невероятные возможности
Конспект урока «Исполнители вокруг нас»
· формальные и неформальные исполнители;
· круг решаемых задач;
На прошлом занятии мы узнали, что разработчиком алгоритмов является человек и рассмотрели примеры, где и исполняют эти алгоритмы люди. Одним из таких алгоритмов является алгоритм перехода через дорогу на регулируемом светофором перекрёстке.
Сначала остановись на тротуаре перед светофором. Затем посмотри на светофор. Если горит красный свет, жди, пока на светофоре загорится зелёный. Если горит зелёный свет, перейди дорогу до тротуара противоположной стороны улицы.
Но давайте подумаем, всегда ли алгоритмы создаются для исполнения их человеком? Конечно, исполнять алгоритмы могут не только люди. Современный человек привык, что в повседневной жизни его окружают технические помощники и уже с трудом представляет своё существование без них. Например, электрочайник, микроволновая печь, кондиционер или кофеварка выполняют алгоритмы, составленные человеком, и справляются с поставленной для них задачей. Эти технические устройства являются исполнителями алгоритмов.
Также исполнителем может быть и животное, выполняющее заданные ему команды, например, дрессированная собака.
Конечно, исполнитель может выполнять не все команды, а только те, для выполнения которых он предназначен, если мы говорим о техническом устройстве; или которые он понимает и умеет делать, если мы имеем в виду человека или животное. Эти команды образуют систему команд исполнителя. Итак, сформулируем определение:
Исполнитель – это некоторый объект способный выполнять определённый набор команд. Это может быть и человек, и животное, и техническое устройство. Команды, которые может выполнить конкретный исполнитель, образуют систему команд исполнителя.
На примере рассмотрим, систему команд музыкального проигрывателя. Это техническое устройство может выполнять следующие команды: воспроизведение аудиозаписи, остановка воспроизведения, переход в начало записи, и в конец записи.
Для выполнения каждой из этих команд потребуются действия человека. Существуют и более сложные устройства, которые выполняют все действия автоматически, без участия человека, но работают по заранее выбранной им программе. Одним из таких устройств является стиральная машина. Все циклы: полоскание, стирку одежды, отжим и сушку она выполняет автоматически.
Но более совершенными исполнителями являются роботы.
Робот – это автоматическое устройство, созданное по принципу живого организма. Действует такое устройство по заранее заложенной в его память программе и самостоятельно выполняет операции, обычно выполняемые человеком. Существуют различные типы роботов: и промышленные, и медицинские, и бытовые и боевые и даже работы учёные. Но наибольший интерес у общества вызвало создание человекообразного робота. Одним из таких устройств является робот Асимо типа Android, созданный корпорацией Honda в Японии. Асимо умеет ходить, спускаться по лестнице и имеет массу функций, которые позволяют ему общаться с людьми.
Алгоритм, исполнителем которого является компьютер, называют программой. Мы уже знакомы с компьютерными программами, которые используются для обработки текстовой, графической и числовой информации и являемся активными пользователями обучающих программ и компьютерных игр. Иногда компьютер и сам управляет работой подключённых к нему устройств, например, принтером.
Исполнители делятся на два типа: формальные и неформальные. Формальный исполнитель одну и ту же команду выполняет всегда одинаково, а неформальный исполнитель одну и ту же команду может выполнять совершенно по-разному.
Например, певец является неформальным исполнителем, потому что одна и та же песня может быть исполнена им совершенно по-разному. А проигрыватель – формальным, потому что одна и та же песня исполняется им всегда одинаково. Или при приготовлении кофе человек является неформальным исполнителем, так может сначала добавить сахар и затем насыпать в чашку кофе ли наоборот. А кофеварка является формальным исполнителем, так как работает строго по заданной программе и готовит кофе всегда одинаково.
Как правило, люди и животные являются неформальными исполнителями, а технические устройства – формальными. Неформальный исполнитель может внести какие-то изменения в алгоритм, например, поменять последовательность шагов или пропустить какие-то из них. Выполняя алгоритм формально, исполнитель не вникает в смысл поставленной ему задачи, а только строго выполняет последовательность действий, не меняя ее. Допустим Миша набирает текст доклада на компьютере. Давайте укажем исполнителей в этом примере и определим, какого к какому типу они относятся. Итак, исполнителями являются и Миша и компьютер. Миша является неформальным исполнителем, т.к самостоятельно продумывает и отвечает за каждое действие, а компьютер – формальным, так как действует по заданной программе.
Остановимся на множестве формальных исполнителей. Таких исполнителей чрезвычайно много, но для каждого из них существует круг решаемых задач, среда исполнителя, система команд исполнителя, система отказов исполнителя и режим работы. Рассмотрим каждый пункт подробнее.
Для каждого формального исполнителя есть свой круг решаемых задач. То есть каждый формальный исполнитель решает не все задачи, а только определенные, для которых он был создан. Например, в круг задач стиральной машины не входит задача варить кофе, так это устройство было создано только для стирки одежды.
Среда исполнителя – это обстановка в которой исполнитель может действовать.
Для примера рассмотрим исполнителя Кузнечик в системе программирования Кумир.
Среда обитания Кузнечика – это координатная прямая.
Рассмотрим систему команд исполнителя кузнечик. Кузнечик может двигаться по координатной прямой на заданное количество единиц впереди назад, а также перекрашивать квадратики над числами.
Значит в СКИ Кузнечика входят команды:
Давайте придумаем для кузнечика алгоритмы, при помощи которых он перекрасит квадратики над числами 1, 2 и 3.
Сегодня на уроке мы узнали, что
• исполнитель – это некоторый объект (человек, животное или техническое устройство) способный выполнять определенный набор команд.
• исполнители могут быть формальными и неформальными. Формальный исполнитель одну и ту же команду всегда выполняет одинаково и не вникает в смысл задачи, а неформальный может поменять шаги алгоритма местами и сам несет ответственность за выполняемые действия.
• Для каждого формального исполнителя можно указать круг решаемых задач, среду, систему команд, систему отказов и режим работы
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
§ 2.1. Алгоритмы и исполнители
Информатика. 8 класса. Босова Л.Л. Оглавление
Ключевые слова:
2.1.1. Понятие алгоритма
Каждый человек в повседневной жизни, в учёбе или на работе решает огромное количество задач самой разной сложности. Сложные задачи требуют длительных размышлений для нахождения решения; простые и привычные задачи человек решает не задумываясь, автоматически. В большинстве случаев решение каждой задачи можно разбить на простые этапы (шаги). Для многих таких задач (установка программного обеспечения, сборка шкафа, создание сайта, эксплуатация технического устройства, покупка авиабилета через Интернет и т. д.) уже разработаны и предлагаются пошаговые инструкции, при последовательном выполнении которых можно прийти к желаемому результату.
Пример 1. Задача «Найти среднее арифметическое двух чисел» решается в три шага:
Пример 2. Задача «Внести деньги на счёт телефона» подразделяется на следующие шаги:
Пример 3. Этапы решения задачи «Нарисовать весёлого ёжика» представлены графически:
Нахождение среднего арифметического, внесение денег на телефонный счёт и рисование ежа — на первый взгляд совершенно разные процессы. Но у них есть общая черта: каждый из этих процессов описывается последовательностями кратких указаний, точное следование которым позволяет получить требуемый результат. Последовательности указаний, приведённые в примерах 1-3, являются алгоритмами решения соответствующих задач. Исполнитель этих алгоритмов — человек.
Алгоритм может представлять собой описание некоторой последовательности вычислений (пример 1) или шагов нематематического характера (примеры 2-3). Но в любом случае перед его разработкой должны быть чётко определены начальные условия (исходные данные) и то, что предстоит получить (результат). Можно сказать, что алгоритм — это описание последовательности шагов в решении задачи, приводящих от исходных данных к требуемому результату.
В общем виде схему работы алгоритма можно представить следующим образом (рис. 2.1).
Алгоритмами являются изучаемые в школе правила сложения, вычитания, умножения и деления чисел, многие грамматические правила, правила геометрических построений и т. д.
Анимации «Работа с алгоритмом» (193576), «Наибольший общий делитель» (170363), «Наименьшее общее кратное» (170390) помогут вам вспомнить некоторые алгоритмы, изученные на уроках русского языка и математики (http://sc.edu.ru/).
Пример 4. Некоторый алгоритм приводит к тому, что из одной цепочки символов получается новая цепочка следующим образом:
Получившаяся таким образом цепочка является результатом работы алгоритма.
Так, если исходной была цепочка А#В, то результатом работы алгоритма будет цепочка #А1В2, а если исходной цепочкой была АБВ@, то результатом работы алгоритма будет цепочка БА@В2.
2.1.2. Исполнитель алгоритма
Каждый алгоритм предназначен для определённого исполнителя.
Исполнитель — это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд.
Различают формальных и неформальных исполнителей. Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Неформальный исполнитель может выполнять команду по-разному.
Рассмотрим более подробно множество формальных исполнителей. Формальные исполнители необычайно разнообразны, но для каждого из них можно указать следующие характеристики: круг решаемых задач (назначение), среду, систему команд и режим работы.
Круг решаемых задач. Каждый исполнитель создаётся для решения некоторого круга задач — построения цепочек символов, выполнения вычислений, построения рисунков на плоскости и т. д.
Среда исполнителя. Область, обстановку, условия, в которых действует исполнитель, принято называть средой данного исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.
Система команд исполнителя. Предписание исполнителю о выполнении отдельного законченного действия называется командой. Совокупность всех команд, которые могут быть выполнены некоторым исполнителем, образует систему команд данного исполнителя (СКИ). Алгоритм составляется с учётом возможностей конкретного исполнителя, иначе говоря, в системе команд исполнителя, который будет его выполнять.
Режимы работы исполнителя. Для большинства исполнителей предусмотрены режимы непосредственного управления и программного управления. В первом случае исполнитель ожидает команд от человека и каждую поступившую команду немедленно выполняет. Во втором случае исполнителю сначала задаётся полная последовательность команд (программа), а затем он выполняет все эти команды в автоматическом режиме. Ряд исполнителей работает только в одном из названных режимов.
Рассмотрим примеры исполнителей.
Пример 5. Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. Система команд Черепашки состоит из двух команд:
Запись Повтори k [ … ] означает, что последовательность команд в скобках повторится k раз.
Подумайте, какая фигура появится на экране после выполнения Черепашкой следующего алгоритма.
Повтори 12 [Направо 45 Вперёд 20 Направо 45]
Пример 6. Система команд исполнителя Вычислитель состоит из двух команд, которым присвоены номера:
1 — вычти 1
2 — умножь на 3
Первая из них уменьшает число на 1, вторая увеличивает число в 3 раза. При записи алгоритмов для краткости указываются лишь номера команд. Например, алгоритм 21212 означает следующую последовательность команд:
С помощью этого алгоритма число 1 будет преобразовано в 15: ((1 • 3 — 1) • 3-1) • 3 = 15.
Пример 7. Исполнитель Робот действует на клетчатом поле, между соседними клетками которого могут стоять стены. Робот передвигается по клеткам поля и может выполнять следующие команды, которым присвоены номера:
1 — вверх
2 — вниз
3 — вправо
4 — влево
При выполнении каждой такой команды Робот перемещается в соседнюю клетку в указанном направлении. Если же в этом направлении между клетками стоит стена, то Робот разрушается.
Что произойдёт с Роботом, если он выполнит последовательность команд 32323 (здесь цифры обозначают номера команд), начав движение из клетки А? Какую последовательность команд следует выполнить Роботу, чтобы переместиться из клетки А в клетку В, не разрушившись от встречи со стенами?
При разработке алгоритма:
Можно сказать, что алгоритм — модель деятельности исполнителя алгоритмов.
2.1.3. Свойства алгоритма
Не любая инструкция, последовательность предписаний или план действий может считаться алгоритмом. Каждый алгоритм обязательно обладает следующими свойствами: дискретность, понятность, определённость, результативность и массовость.
Свойство дискретности означает, что путь решения задачи разделён на отдельные шаги (действия). Каждому действию соответствует предписание (команда). Только выполнив одну команду, исполнитель может приступить к выполнению следующей команды.
Свойство понятности означает, что алгоритм состоит только из команд, входящих в систему команд исполнителя, т. е. из таких команд, которые исполнитель может воспринять и по которым может выполнить требуемые действия.
Свойство определённости означает, что в алгоритме нет команд, смысл которых может быть истолкован исполнителем неоднозначно; недопустимы ситуации, когда после выполнения очередной команды исполнителю неясно, какую команду выполнять следующей. Благодаря этому результат алгоритма однозначно определяется набором исходных данных: если алгоритм несколько раз применяется к одному и тому же набору исходных данных, то на выходе всегда получается один и тот же результат.
Свойство результативности означает, что алгоритм должен обеспечивать получение результата после конечного, возможно, очень большого, числа шагов. При этом результатом считается не только обусловленный постановкой задачи ответ, но и вывод о невозможности продолжения по какой-либо причине решения данной задачи.
Свойство массовости означает, что алгоритм должен обеспечивать возможность его применения для решения любой задачи из некоторого класса задач. Например, алгоритм нахождения корней квадратного уравнения должен быть применим к любому квадратному уравнению, алгоритм перехода улицы должен быть применим в любом месте улицы, алгоритм приготовления лекарства должен быть применим для приготовления любого его количества и т. д.
Пример 8. Рассмотрим один из методов нахождения всех простых чисел, не превышающих некоторое натуральное число п. Этот метод называется «решето Эратосфена» по имени предложившего его древнегреческого учёного Эратосфена (III в. до н. э.).
Для нахождения всех простых чисел, не больших заданного числа n, следуя методу Эратосфена, нужно выполнить следующие шаги:
Более наглядное представление о методе нахождения простых чисел вы сможете получить с помощью размещённой в Единой коллекции цифровых образовательных ресурсов анимации «Решето Эратосфена» (180279).
Рассмотренная последовательность действий является алгоритмом, так как она удовлетворяет свойствам:
Рассмотренные свойства алгоритма позволяют дать более точное определение алгоритма.
Алгоритм — это предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату, которое обладает свойствами дискретности, понятности, определённости, результативности и массовости.
2.1.4. Возможность автоматизации деятельности человека
Разработка алгоритма — как правило, трудоёмкая задача, требующая от человека глубоких знаний, изобретательности и больших временных затрат.
Решение задачи по готовому алгоритму требует от исполнителя только строгого следования заданным предписаниям.
Пример 9. Из кучки, содержащей любое, большее трёх, количество каких-либо предметов, двое играющих по очереди берут по одному или по два предмета. Выигрывает тот, кто своим очередным ходом сможет забрать все оставшиеся предметы.
Рассмотрим алгоритм, следуя которому первый игрок наверняка обеспечит себе выигрыш.
Исполнитель может не вникать в смысл того, что он делает, и не рассуждать, почему он поступает так, а не иначе, т. е. он может действовать формально. Способность исполнителя действовать формально обеспечивает возможность автоматизации деятельности человека. Для этого:
Самое главное: Алгоритмы и исполнители
Исполнитель — некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд.
Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Для каждого формального исполнителя можно указать: круг решаемых задач, среду, систему команд и режим работы.
Алгоритм — предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату, которое обладает свойствами дискретности, понятности, определённости, результативности и массовости.
Способность исполнителя действовать формально обеспечивает возможность автоматизации деятельности человека.