Основной вопрос. "Информатика". Издательский дом "Первое сентября" Формальные и неформальные исполнители команд

| Планирование уроков и материалы к урокам | 6 классы | Планирование уроков на учебный год (ФГОС) | Исполнители вокруг нас

Урок 24
Исполнители вокруг нас
Работа в среде исполнителя Кузнечик

Формальные исполнители

Формальные исполнители

Выделяют два типа исполнителей: формальных и неформальных. Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Неформальный исполнитель может выполнять команду по-разному.

Например, при многократном прослушивании диска с любимой музыкой вы можете быть уверены, что она воспроизводится проигрывателем (формальным исполнителем) одинаково. Но вряд ли кому-нибудь из певцов (неформальному исполнителю) удастся несколько раз совершенно одинаково исполнить песню из своего репертуара.

Как правило, человек выступает в роли неформального исполнителя. Формальными исполнителями являются преимущественно технические устройства. Человек в роли неформального исполнителя сам отвечает за свои действия. За действия формального исполнителя отвечает управляющий им объект.

Рассмотрим более подробно множество формальных исполнителей. Формальные исполнители необычайно разнообразны, но для каждого из них можно указать круг решаемых задач, среду, систему команд, систему отказов и режимы работы.
1. Круг решаемых задач . Каждый исполнитель создается для решения определенного класса задач.
2. Среда исполнителя . Область, обстановку, условия, в которых действует исполнитель, принято называть средой данного исполнителя.
3. Система команд исполнителя . Предписание о выполнении отдельного законченного действия исполнителя называется командой. Совокупность всех команд, которые могут быть выполнены некоторым исполнителем, образует СКИ - систему команд исполнителя.
4. Система отказов исполнителя . Отказ «не понимаю» возникает тогда, когда исполнителю подается команда, не входящая в его СКИ. Отказ «не могу» возникает тогда, когда команда из СКИ не может быть им выполнена в конкретных условиях среды. 
5. Режимы работы исполнителя . Для большинства исполнителей предусмотрены режимы непосредственного и программного управления. В первом случае исполнитель ожидает команд от управляющего объекта и немедленно выполняет каждую поступившую команду. Во втором случае исполнителю сначала задаётся полная последовательность команд (программа), а затем он выполняет все эти команды в автоматическом режиме. Ряд исполнителей работает только в одном из названных режимов.

Исполнители алгоритмов. Формальное выполнение алгоритма. Компьютер как формальный исполнитель алгоритмов (программ).

Тип урока: комбинированный.

Цели урока:

Ввести понятие «объект-исполнитель»;

Познакомить учащихся с третьей стадией разработки алгоритма;

Ввести понятие «Программа»;

Познакомить с правилами оформления и вызова программы;

Научить решать задачи на составление программ с линейным алгоритмом.

Задачи урока:

    Познавательные :

    Организовать работу учащихся по изучению и первичному закреплению знаний путем коллективной и самостоятельной практической деятельности.

    Развивающие:

    Используя интегрированный подход, показать учащимся значение, которое имеет понятие «объект-исполнитель» в природе, быту, технике и повседневной жизни.

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

    Воспитательные:

    Формирование информационной культуры, умения и навыков коллективного и самостоятельного овладения знаниями;

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

Ход урока

Организационный этап

Взаимные приветствия учителя и учащихся; фиксация отсутствующих; проверка внешнего состояния классного помещения; проверка подготовленности учащихся к уроку; организация внимания и внутренней готовности.

Объявление темы и целей урока. Повторение материала

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

Фронтальный опрос:

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

    Перечислите основные свойства алгоритма (дискретность, точность, понятность, массовость, результативность)

    Перечислите основные формы представления алгоритмов (словесный, графический, программный, табличный)

Объяснение нового материала:

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

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

Различают формальных и неформальных исполнителей. Формальный исполнитель одну и туже команду выполняет одинаково. Неформальный исполнитель может выполнять команду.

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

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

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

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

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

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

Исполнители, встречающиеся в задачах – «Кузнечик», «Калькулятор», «Маятник», «Черепашка», «Стрелка», «Красильщик», «Стрелочка», «Черепаха», «Водолей» и. др.

Пример: Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. Система команд состоит из следующих команд:

Вперёд n (где n – целое число) – вызывает передвижение на n шагов в направлении движения – в том направлении, куда развёрнуты ее голова и корпус.

Направо m (где m – целое число) – вызывает изменение направления движения на m градусов по часовой стрелке.

Запись Повтори K [<Команда1> <Команда2> … <Команда n >] – означает, что последовательность команд в скобках повториться k раз.

Подумайте, какая фигура появиться на экране после выполнения Черепашкой следующего алгоритма:

Повтори 12 [ Направо 45 Вперёд 20 Направо 45 ]

Ответ:

Пример: Система команд Вычислитель состоит из двух команд, которым присвоены номера:

1 – вычти 1

2 – умножить на 3

При записи алгоритма для краткости указываются только номера команд. Например, алгоритм 21212 означает следующее

Умножить на 3

Вычти 1

Умножить на 3

Вычти 1

Умножить на 3

С помощью этого алгоритма число 1 преобразовано в 15: ((1*3-1)*3-1)*3=15

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

При выполнении каждой такой команды Робот перемещается в соседнюю клетку в указанном направлении. Если же в этом направлении между клетками стоит стена, то Робот разрушается.

Что произойдет с Роботом если он выполнит последовательность команд: вправо, вниз, вправо, вниз, вправо. Начав движение из клетки А. Какую последовательность команд надо выполнить Роботу, чтобы переместиться из клетки А в клетку В, не разрушившись от встречи со стенами?

Алгоритм, представленный на понятном Исполнителю языке, называют программой .

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

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

Программирование (кодирование) – процесс составление программы для компьютера.

Каждый алгоритм, представленный в виде программы, должен иметь уникальное имя, не совпадающее со встроенными в язык словами. Программа имеет заголовок, в котором указано ее имя. Новый алгоритм сохраняется в памяти компьютера под своим именем, и его можно вызвать (выполнить), введя имя этой программы. Программы обладают такими же свойствами, как и алгоритмы.

Итог урока:

Диалог:

    Что нового Вы узнали на уроке?

    Какова практическая значимость изучаемого вопроса?

    Каковы положительные моменты урока.

    Пожелания

Спасибо за работу на уроке!

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

Исполнитель - это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд. Команды, которые может выполнить конкретный исполнитель, образуют систему команд исполнителя (СКИ).

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

Система команд исполнителя - CD-плеера приведена на рис. 56.

Рис. 56

Более сложным исполнителем является современная стиральная машина, в электронную память которой заложены разработанные инженерами различные программы стирки белья. Весь процесс стирки (замачивание, отстирывание, полоскание, отжим, сушка) машина выполняет автоматически , без участия человека, но по программе, выбранной человеком.

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

Ещё один пример исполнителя - компьютер . Его отличительная черта - универсальность . Вы знакомы с компьютерными программами, предназначенными для обработки текстовой, числовой и графической информации, с обучающими программами и компьютерными играми. Кроме того, существуют программы, с помощью которых компьютер управляет работой других связанных с ним устройств (исполнителей).

Во многих случаях и сам человек является исполнителем алгоритмов. Например, каждый из нас при переходе улицы является исполнителем следующего алгоритма:

  1. остановись на тротуаре;
  2. посмотри налево;
  3. если транспорта нет, то иди до середины улицы и остановись, иначе выполняй п. 2;
  4. посмотри направо;
  5. если транспорта нет, то иди до противоположного тротуара, иначе выполняй п. 4.

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

Формальные исполнители

Выделяют два типа исполнителей: формальных и неформальных. Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Неформальный исполнитель может выполнять команду по-разному.

Например, при многократном прослушивании диска с любимой музыкой вы можете быть уверены, что она воспроизводится проигрывателем (формальным исполнителем) одинаково. Но вряд ли кому-нибудь из певцов (неформальному исполнителю) удастся несколько раз совершенно одинаково исполнить песню из своего репертуара.

Как правило, человек выступает в роли неформального исполнителя. Формальными исполнителями являются преимущественно технические устройства. Человек в роли неформального исполнителя сам отвечает за свои действия. За действия формального исполнителя отвечает управляющий им объект.

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

  1. Круг решаемых задач . Каждый исполнитель создается для решения определенного класса задач.
  2. Среда исполнителя . Область, обстановку, условия, в которых действует исполнитель, принято называть средой данного исполнителя.
  3. Система команд исполнителя . Предписание о выполнении отдельного законченного действия исполнителя называется командой. Совокупность всех команд, которые могут быть выполнены некоторым исполнителем, образует СКИ - систему команд исполнителя.
  4. Система отказов исполнителя . Отказ «не понимаю» возникает тогда, когда исполнителю подается команда, не входящая в его СКИ. Отказ «не могу» возникает тогда, когда команда из СКИ не может быть им выполнена в конкретных условиях среды.
  5. Режимы работы исполнителя . Для большинства исполнителей предусмотрены режимы непосредственного и программного управления. В первом случае исполнитель ожидает команд от управляющего объекта и немедленно выполняет каждую поступившую команду. Во втором случае исполнителю сначала задаётся полная последовательность команд (программа), а затем он выполняет все эти команды в автоматическом режиме. Ряд исполнителей работает только в одном из названных режимов.

Автоматизация

Разработка алгоритма - трудоёмкая задача, требующая от человека глубоких знаний и больших затрат времени. Решение задачи по готовому алгоритму требует от исполнителя только строгого следования заданным предписаниям. Исполнитель не вникает в смысл того, что он делает, и не рассуждает, почему он поступает так, а не иначе, - он действует формально . С этим связана возможность автоматизации деятельности человека - замена части труда человека работой машин (автоматических устройств):

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

Рассмотрим процесс управления информационным процессом, в котором в качестве управляемого объекта выбран текст. Другими словами, рассмотрим информационный процесс, связанный с редактированием (изменением состояния) текста.
Во-первых , для того, чтобы преобразовать текст, должен существовать кто-то или что-то, который эти преобразования выполняет. Иными словами, необходим исполнитель этих преобразований.
Во-вторых , процесс преобразования текста необходимо разбить на отдельные операции, которые должны быть записаны в виде отдельных команд исполнителю. Каждый исполнитель обладает определенным набором, системой команд , которые он может выполнить. В процессе редактирования текста возможны различные операции: удаление, копирование, перемещение или замена его фрагментов. Исполнитель редактирования текста должен быть в состоянии выполнить эти операции.
В-третьих , должно быть определено начальное состояние объекта, в данном случае текста, и его требуемое конечное состояние (цель преобразования).
Будем говорить, что информационный процесс, обладающий всеми перечисленными выше свойствами, называется алгоритмом . Исполнитель может выполнить алгоритм, если команды алгоритма входят в систему команд исполнителя.
Например: пользователю необходимо отредактировать текст следующим образом:

1. Выделить символы с 1 по 15.

2. Вырезать этот фрагмент и поместить его в буфер.

3. Установить курсор на позицию после 7-го символа.

4. Вставить вырезанный фрагмент текста.

Этот алгоритм пользователь может выполнять формально. Пользователь в процессе выполнения алгоритма на компьютере будет нажимать клавиши клавиатуры, а при работе с графическим интерфейсом с помощью мыши активизировать те или иные кнопки, пункты меню и т.д. Факти­чески пользователь будет давать команды объектам программной средыWindows&Office, которые и будут исполнителями алгоритма.

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

14 Основные понятия алгоритмизации: формальные и неформальные исполнители алгоритмов.

Исполнитель - это некоторый объект (человек, животное, техническое устройство), способный выполнять определенный набор команд.
Команды, которые может выполнить конкретный исполнитель, образуютсистему команд исполнителя (СКИ).

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

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

Как правило, человек выступает в роли неформального исполнителя. Формальными исполнителями являются преимущественно технические устройства. Человек в роли неформального исполнителя сам отвечает за свои действия. За действия формального исполнителя отвечает управляющий им объект.

Управление - это процесс целенаправленного воздействия одних объектов на другие.

Исполнители являются объектами управления. Управлять ими можно, составив для них алгоритм.

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

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

15 Алгоритмические конструкции: линейная, разветвление, циклы

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

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

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

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

41 .

Формальный аналог машины Тьюринга.

Машина Тьюринга (МТ) состоит из счетной ленты (разделенной на ячейки и ограниченной слева, но не справа), читающей и пишущей головки, лентопротяжного механизма и операционного исполнительного устройства, которое может находиться в одном из дискретных состояний qo, q1,..., qs, принадлежащих некоторой конечной совокупности (алфавиту внутренних состояний). При этом qо называется начальным состоянием.

Читающая и пишущая головка может читать буквы рабочего алфавита А = [а0, a1,..., аt}, стирать их и печатать. Каждая ячейка ленты в каждый момент времени занята буквой из множества А. Чаще всего встречается буква a0 - «пробел». Головка находится в каждый момент времени над некоторой ячейкой ленты - текущей рабочей ячейкой. Лентопротяжный механизм может перемещать ленту так, что головка оказывается над соседней ячейкой ленты. При этом возможна ситуация выхода за левый край ленты (ЛК), которая является аварийной (недопустимой), или машинного останова (МО), когда машина выполняет предписание об остановке.

Порядок работы МТ (с рабочим алфавитом a0, a1,..., аt и состояниями q0, q1,..., qs) описывается таблицей машины Тьюринга. Эта таблица является матрицей с четырьмя столбцами и (s + 1) (t + 1) строками. Каждая строка имеет вид

Функции, вычислимые по Тьюрингу. Тезис Тьюринга.

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

Машина работает по программе следующим образом.

В начальный момент времени на ленте записывается некоторая цепочка из множества V * , все остальные клетки ленты заполнены символом #. Управление в начальный момент находится в состоянии q 0 , считывающая – записывающая головка обозревает крайний слева символ записанной цепочки. Работа машины состоит в повторе следующего цикла элементарных действий:

1. Чтение головкой символа из ячейки напротив неё.

2. Поиск применимой команды, а именно команды qa → q’a’d , где q- некоторое состояние управления, a- считываемый символ.

3. Выполнение найденной команды, которая состоит в следующем. В обозреваемую головкой ячейку записывается символ a’ , символ a- стирается, управление переходит в состояние q’ и головка смещается относительно d . Если d=r головка смещается на одну ячейку вправо, если l - смещается на одну ячейку влево, p – перемещение не производится. Остановка производится в том случае, если на очередном шаге ни одна команда программы не является применимой. Результатом работы машины Тьюринга является цепочка, записанная на ленте.