Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РОБОТЛАНДИЯ лекция алгоритмы и исполнители.doc
Скачиваний:
11
Добавлен:
10.09.2019
Размер:
705.54 Кб
Скачать

Исполнители в курсе раннего обучения информатике

Понятие исполнителя является одним из наиболее важных в информатике. Несмотря на то, что это понятие относят к первичным, оно имеет четкое определение, которое дети если и не заучивают наизусть, то, во всяком случае, осознанно им оперируют. Исполнителем называется человек, коллектив, животное или техническое устройство, которые понимают и умеют точно исполнять задаваемые им команды. Конечно, изучение темы начинается не с формулировки определения (появлению этого определения могут предшествовать несколько уроков в теме «Исполнители»): как всегда при знакомстве с новым материалом на уроке информатики, дети, инициируемые учителем, прежде всего, генерируют множество примеров, затем классифицируют и только после этого, суммируя отдельные наблюдения, приходят к общему определению. Характерное типовое начало темы «Исполнители» — игра в классе, которую учитель не только предлагает, но в первой ее реализации даже берется за исполнение «главной роли». Итак, учитель заявляет, что он готов исполнить любую из согласованного набора команд. Составление такого набора — важный элемент первого урока в теме: список должен быть не длинным и обозримым, команды — легко определяемыми и реализуемыми. Надо обратить внимание на наличие «обратных» команд: если, например, в системе имеется команда ПОДНИМИ РУКУ, то обязательно надо иметь и команду ОПУСТИ РУКУ. С учетом таких «строгих» ограничений, налагаемых на систему команд исполнителя (СКИ), этот набор формируется детьми с непосредственных подсказок учителя. Произнесенная детьми команда корректируется учителем, дети соглашаются с ним. После этого команду можно зафиксировать: учитель записывает ее на доске. Можно представить, например, такую СКИ:

ПОДНИМИ РУКУ

ОПУСТИ РУКУ

ОТКРОЙ ГЛАЗА

ЗАКРОЙ ГЛАЗА

СКАЖИ «МЯУ»

Начинается игра. Учитель встает у доски и выражает готовность исполнять команды. Он послушно поднимает руку по команде

ПОДНИМИ РУКУ

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

ЗАКРОЙТЕ ГЛАЗА

В таком случае надо приостановить игру и объяснить детям, что такой команды нет в нашей системе команд (с этой целью можно записать «новую» команду рядом с имеющейся в списке, выделив ее, например, мелом другого цвета1). И, хотя учителю-человеку понятно, что хотели сказать дети, произнесшие эту «новую» команду, он как исполнитель имеет право ответить «Не понимаю» и объясняет, почему «не понимает»: команды ЗАКРОЙТЕ ГЛАЗА не существует в системе команд, понятной исполнителю. Эта игра в непонимание оправдана с методической точки зрения, дети легко принимают это правило игры. (Даже если дети аккуратно следуют правилам игры в исполнителя, ситуацию с «непонятной» командой учителю нетрудно спровоцировать.) Человек, в отличие от робота, достаточно часто выдает совершенно «немашинное» сообщение «Не хочу», которое, в принципе, невозможно в случае робота-механизма. Даже с дрессированной собачкой может произойти казус непослушания. В этой ситуации очень важно использовать понятие формального исполнителя (и даже, возможно, произнести этот термин в классе), которому не позволяется ни при каких обстоятельствах отклониться от заранее сформулированной (спроектированной, оговоренной) СКИ. Сейчас объект детской игры — формальный исполнитель. Первую игру (с учителем-исполнителем) не следует затягивать, даже если не исследованы все возможные ее сценарии: дети рвутся сами попробовать себя в роли исполнителей. Класс разыгрывает несколько подобных игр. Теперь роль учителя сводится, главным образом, к фиксированию на доске (или, лучше, на экране проектора) системы команд: каждому играющему класс составляет новую систему команд. Еще один вариант игры: СКИ остается той же, ученики выходят по очереди, учитель старается в темпе давать команды, чтобы исполнитель либо выполнял команду, либо отвечал: «Не могу» или «Не понимаю». Задача ученика-исполнителя — продержаться как можно дольше, не ошибиться. Выигрывает тот, кто не ошибается.

Из такой игры школьники выносят представление о системе команд, их строго формальном задании и исполнении. Теперь они готовы приводить разнообразные примеры из повседневной жизни. Этот поток примеров тоже направляется учителем. Класс обсуждает примеры исполнителей-животных (собаки, умеющие выполнять некоторые команды, дрессированные медведи и дельфины), исполнителей-людей (водители, выполняющие правила уличного движения), исполнителей-коллективов (подразделение солдат, спортсмены на параде), исполнителей-учреждений (почтовое отделение, бухгалтерия). В каждом примере следует разобрать одну-две команды, из тех, что умеет выполнять обсуждаемый исполнитель. Когда есть возможность, надо привлечь внимание детей к роботам — техническим устройствам, которые могут управляться либо автоматически (в программном режиме), либо непосредственно (в командном режиме), либо (что еще более интересно для детей) — с помощью компьютера, к которому подключен робот-игрушка.

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

Нет необходимости объяснять детям (сейчас) термин «непосредственное управление», однако учитель должен понимать его. Непосредственным управлением называется род деятельности, состоящий в выполнении группы последовательных действий, когда человек принимает решение о следующем действии на основании информации о предыдущем. Так, управляя Мудрым- Кротом, школьник сначала посмотрит, в какой позиции оказался Крот после последнего перемещения, а затем, в зависимости от этой последней позиции, дает Кроту следующую команду. Различие между автоматическим и непосредственным управлением состоит в том, что в первом случае исполнителю передается заранее записанная последовательность из нескольких команд, а во втором исполнитель получает команду за командой. Позднее, когда ученики будут изучать сложный исполнитель Кукарача, который введет их в мир программирования, им встретится и другой, более общий вид деятельности, при котором исполнитель получает от человека не одну команду, а сразу серию команд — программу действий. Такой способ управления называют программным. Он сложнее непосредственного управления, т. к. все команды написаны заранее: человек при этом не видит результат предшествующего действия, а планирует, или программирует его. Программа Машинист — это модель сортировочной горки на железнодорожной станции. На пути стоит локомотив, который из своего тупика может переместиться на одну из двух веток — нижнюю или верхнюю в зависимости от направления, задаваемого положением стрелки. На верхней стрелке расположен состав из нескольких вагонов. Задача состоит в том, чтобы переставить эти вагоны в другом порядке. По существу, речь идет не о единственной задаче, а о целом классе разных задач, решение которых может быть включено не в один, а в два или три насыщенных урока. Необходимо ввести важное соглашение, направленное на понимание роли исполнителя: в кабине локомотива сидит не человек (иначе мыслящий человек без нашей помощи сообразил бы, в какой последовательности надо брать вагоны и куда их везти), а робот, которому надо давать команды. Как отдавать команды? Бегать за локомотивом и кричать роботу, куда надо ехать? Естественнее (в условиях нашей задачи) представить, что робот выполняет команды, передаваемые по радио (или мобильному телефону).

Как обычно, «предкомпьютерная» часть урока предполагает работу с дидактическим материалом. Для «бескомпьютерной» модели сортировочной горки можно использовать

  • спичечные коробки-вагоны и спички-рельсы;

  • магниты различных форм на магнитной доске с нарисованными на ней рельсами;

  • локомотив, вагоны и рельсы игрушечной железной дороги;

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

Один дидактический материал не исключает другой. Несмотря на ограниченное количество задач в «трехвагонной» компьютерной модели, вполне уместны демонстрация одной задачи на магнитной доске, а другой — на «живых» вагонах. Впрочем, на «бескомпьютерных» моделях задачи вполне можно использовать и модификации условий, например не три вагона, а четыре. Готовя формальное введение общей схемы знакомства с исполнителями, следует и в обсуждении программы Машинист, и, еще раньше, в ее моделях и инсценировках обращать внимание на те элементы, которые составляют структуру схемы знакомства. Вопрос, который при таком обсуждении напрашивается сам собой: являются ли, например, солнышко или домик на экранной картинке элементами среды? Учитель убежденно отвечает детям: «Нет». Среда — это те элементы из окружения робота, которые необходимы и достаточны для выполнения команд из его СКИ.

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

Потребуется внимательное отношение к инсценировке «живые вагоны». Дети с удовольствием предлагают себя в качестве участников игры. При этом, вероятно, многим будет больше импонировать роль локомотива, чем исполнителя или автора алгоритма, по которому должен работать исполнитель. Между тем, и «локомотив», и «вагоны» — это всего лишь статисты, а действительно активными участниками являются именно автор и исполнитель. Алгоритм перестановки вагонов, решающий задачу, предстает в виде операторского протокола. Запись протокола дает возможность обсудить два важных понятия информатики. Первое из них — откатка — уже известно детям, например, по алгоритмическим этюдам. Повторение знакомого механизма в новой теме не только закрепляет понятие откатки, но и подчеркивает его фундаментальность и инвариантность. Вместе с откаткой обычно напоминают и обратную операцию — накатку.

Второе понятие — структурирование записи алгоритма, позволяющее говорить об этапах проектирования алгоритма и, в частности, о технологии проектирования «сверху вниз». Внешне представление операторского протокола не ново: протоколы Монаха, Конюха, Переливашки, Угадайки имели такой же вид линейной последовательности команд. Но из-за заметно выросшей длины протокола (число команд в задачах Машиниста. превосходит три десятка) актуально обсуждение нового приема записи такого алгоритма:

  • сначала надо выделить крупные блоки-этапы (перевоз одного вагона с верхнего пути на нижний; перевоз вагона на верхний путь с нижнего); тем самым, определяется последовательность основных, крупных этапов алгоритма; эти укрупненные блоки-этапы алгоритма записываются на естественном языке;

  • затем каждый выделенный крупный этап описывается в виде последовательности более мелких порций действий, задаваемых командами СКИ.

Именно в таком способе построения алгоритма и просматривается пропедевтика технологии проектирования «сверху вниз». Разработчики учебного программного обеспечения определили важное место программных исполнителей в системе дидактических средств уже на хронологически первых этапах становления школьной информатики. Достаточно назвать широко известный исполнитель — Черепашку, введенную Сеймуром Пайпертом в качестве главного персонажа учебной высокоуровневой языковой системы программирования Лого, или группу исполнителей языка Робик, составивших наполнение другой учебной языковой системы, которая была создана в новосибирском Академгородке в коллективе, возглавлявшемся академиком А. П. Ершовым.

Ориентация двух названных систем на младших школьников сама по себе могла бы уже служить основанием для появления новых программных объектов — программных исполнителей — в качестве базовых дидактических инструментов в школьной информатике: наглядность, конкретность, динамичность, простота управления оправдывали использование программных исполнителей в задачах информатического образования младших школьников. Вместе с тем, в период становления школьной информатики языковые системы программирования оставались единственным технологическим средством, используемым в приложениях, в том числе, и педагогических. Поэтому и учебные системы того времени, такие, как Лого С. Пайперта или Робик Г. А. Звенигородского, оставались в целом языковыми, использующими программные исполнители в качестве встроенных объектов, подчиненных базовой языковой системе. Высокие дидактические достоинства Лого неоднократно продемонстрированы в экспериментальных и систематических курсах программирования и информатики в разных странах. И все же современные условия общеобразовательной компьютеризованной школы заставляют искать новые подходы к построению начального курса информатики: за три десятилетия существования Лого заметно изменились взгляды на цели, методику и содержание обучения информатике; актуальный в свое время лозунг «Программирование — вторая грамотность!» постепенно уступил место требованиям информационной культуры, когда язык программирования перестает играть роль ведущего дидактического инструмента. Позиция такого инструмента сейчас уверенно и обоснованно занята системами программных исполнителей.

Схема знакомства с исполнителем

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

  • Название (имя) исполнителя

  • Среда, в которой работает исполнитель. Для исполнителя Машинист — это компьютерный экран с изображенными на нем вагонами, железнодорожными путями и стрелкой. Если же речь идет о машинисте настоящего маневрового тепловоза, то здесь средой становится сортировочная горка на железнодорожной станции с целой системой стрелок, настоящий тепловоз с радиоаппаратурой для передачи команд и т. п. Описывая среду, важно не обрисовывать второстепенные, иллюстрационные детали, а подчеркнуть, что среда — это условия окружающей обстановки, необходимые и достаточные для выполнения команд из СКИ

  • Как задаются команды? В инсценировке задачи о машинисте автор алгоритма задает команды голосом (задание команды дублируется ее записью на доске); в компьютерном варианте задачи команды набираются на клавиатуре заглавными буквами.

  • Как выполняются команды? Ответ на такой вопрос во многом определяется средой. Возвращаясь вновь к игре с «живыми вагонами», констатируем, что выполнение команды ВПЕРЕД — это перемещение «состава» (группы детей) по «рельсам» (нарисованным на полу линиям). На экране выполнение команды означает перемещение нарисованного состава справа налево — движение до стрелки или от стрелки до вагонов в тупике (или до тупика).

  • Когда возникает сообщение «НЕ МОГУ»? Для каждой команды ситуация, в которой порождается это сообщение, определяется по-разному. Так, исполнитель не может выполнить команду ПРИЦЕПИ, если к локомотиву уже прицеплены все три вагона. В исходном состоянии нельзя дать исполнителю команду НАЗАД, поскольку он стоит в тупике, из которого можно двинуться только вперед. Одно из возможных изображений схемы знакомства с исполнителем:

Структура общей схемы знакомства введена с опорой на пример исполнителя Машинист. Сейчас уместно проследить по предложенной схеме свойства уже известных, ранее использованных на уроках исполнителей, начиная с исполнителей-учеников, выступавших в первых инсценировках, и кончая простым исполнителем Перевозчик: учитель предлагает вызванным ученикам рассказать о том или ином исполнителе, строго следуя схеме, которая находится (сейчас и на нескольких последующих уроках) в центре внимания класса. Не в каждом исполнителе одинаково отчетливо выражены все элементы схемы знакомства. Поэтому после рассмотрения Перевозчика надо провести подобное обсуждение и с другими знакомыми исполнителями. Вот пример — исполнитель Конюх. После достаточно простого описания среды учитель просит назвать все команды, которые понимает и умеет выполнять исполнитель по имени Конюх. Ответ — список команд, осуществляющих правильные перемещения коня на маленькой (3 х 3) клетчатой доске. Таких команд — 16 (число полей, с которых возможны ходы коней на такой доске, — 8; с каждого поля допускаются два возможных хода):

Подходящий тест на понимание:

— Какое сообщение выдаст Конюх в ответ на команду а1-b2? Конечно, ответ легко найти, попытавшись выполнить эту команду на компьютере. Возникает сообщение «Не понимаю» (хотя априорно часть школьников могла бы предположить сообщение «Не могу»: ведь выполняя такую команду, исполнитель должен нарушить принятые правила: конь не может ходить на соседнее поле по диагонали). Важен не столько правильный ответ, сколько его разумное объяснение: команды а1-b2 нет в СКИ Конюха.

Интересен в этом отношении исполнитель Мудрый Крот, который не выдает ни одно из аварийных сообщений. Действительно, Крот запрограммирован так, что он может перемещаться лишь в свободном пространстве или вдоль стенок, но не может проходить сквозь стену. Поэтому, когда, например, справа от Крота — стена, то его «молчаливый» отказ двигаться вправо и следует воспринимать как сообщение «Не могу». Так же обстоит дело с сообщением «Не понимаю»: программа не реагирует на нажатия клавиш, отличающихся от управляющих стрелок. И хотя при нажатии, например, на клавишу BS нет ожидаемой реакции «Не понимаю», тем не менее, именно так следует воспринимать отказ исполнителя выполнить команду: исполнителю задана команда, не входящая в СКИ, т. е. непонятная ему, он молча демонстрирует это непонимание, не выполняя команду. Таким образом, даже в «экзотических» ситуациях, подобных Мудрому Кроту, схема знакомства с исполнителем сохраняет свою методическую универсальную значимость.

Особенности Мудрого Крота (или какого-нибудь другого, наугад выбранного исполнителя), кажущиеся отклонениями от общей схемы знакомства, нельзя оставлять на уровне «экзотики». Далеко не у каждого исполнителя (особенно у исполнителей вне Роботландии) существуют аварийные сообщения «Не могу» и «Не понимаю» в буквально совпадающих «редакциях». Выражения «Не могу» и «Не понимаю» должны восприниматься как ярлыки, как названия двух определенных классов в классификации сообщений исполнителя. Важно не название класса, а существо ситуаций, отнесенных к этому классу. Таким образом, представление об исполнителе создается тогда, когда известно, как реагирует исполнитель, если он попадает в класс ситуаций, называемых «Не могу». В классе таких ситуаций Крот не двигается в ответ на нажатие управляющей стрелки. Его «непослушание» и есть реакция «Не могу». Значение среды в общей схеме знакомства очень важно. Однако во всех рассмотренных примерах — от инсценировок в классе до программных моделей учащиеся не ощущают непосредственно этой важной роли среды. Для того чтобы продемонстрировать среду исполнителя как определяющий компонент схемы общего знакомства с исполнителем, полезно показать школьникам две разные задачи (два разных исполнителя) с совпадающими системами команд. В качестве первой такой задачи можно использовать Машиниста, которому посвящено несколько уроков. После завершения этой серии уроков учитель вводит детей в иную операционную обстановку, иную среду, где все действия совершаются на рельсах, но в совершенно других условиях (не реализованных на компьютере).

В качестве второй задачи (с системой команд, совпадающей со СКИ роботландского Машиниста) можно взять задачу, описанную в давней (1988 года) книге «Роботландия» (Переславль-Залесский, АН СССР, Институт программных систем). Фрагмент задачи приводится ниже. «... По пятницам у Пети Кука хорошее настроение: в этот день по расписанию — его любимая информатика. После привычного начала — проверки домашних заданий, обзора газетных новостей о применениях компьютеров — начинается основная часть урока. Сегодня речь пойдет о новых алгоритмических задачах и новом исполнителе. Учитель начинает с необычного вопроса: — Кто из вас помнит фильм про неуловимых мстителей? — Я! Я! Конечно, помним! — Во фильм! У него еще и продолжение есть! Учитель улыбается, но все же мягко прерывает этот поток восклицаний своим рассказом, пока «воспоминания» не достигли уровня воинственных звукоподражаний «Бах! Бабах! Бум! Тра-та-та-та!» — У юных бойцов было много героических дел. Так много, что они не вместились в знаменитый фильм «Неуловимые мстители». И даже в его продолжение. Сегодня я расскажу вам об одном незнакомом вам боевом эпизоде из их жизни. Класс затаил дыхание. Что же дальше? — Haш бронепоезд двигался к линии фронта. И его очень ждали на боевых позициях: и пушки, и снаряды, а, главное, свежее подкрепление — два взвода молодых бойцов — были так нужны красному полку, уставшему от долгих боев. Путь бронепоезда был нелегок. По окрестным лесам шныряли белогвардейские банды. Их можно было ждать на любом полустанке. Командир, пристально вглядывавшийся вперед, решительно махнул рукой машинисту: «Тормози!». Из-за поворота показалась четверка неуловимых. Еще с рассвета они отправились в разведку, и вот сейчас на своих горячих конях мчались навстречу бронепоезду. — Засада! — доложил запыхавшийся Цыган, осадив коня рядом с командиром. — Большой отряд беляков. С пушками. Даже с танком. Могут взорвать путь. Вперед нельзя! Командир срочно собрал штаб в тесной артиллерийской башне. Солнечный луч через амбразуру ложился на карту фронта. — Боевое задание нельзя не выполнить. Но силы не равны. Надо идти в обход. — В обход-то можно, — угрюмо сказал машинист бронепоезда. — Да ведь на этом одноколейном пути до ближайшей станции — 20 километров. Задним ходом до нее долго двигаться. — Зачем задним? — воскликнула Оксана. В боевой красно-армейской форме ее нельзя было отличить от мальчишки. — Ведь рядом, всего в полукилометре, есть тупик, где можно развернуться. Командир хорошо знал эти места. Он здесь вырос, пахал землю, здесь и воевал. Подумав, он скорее спокойно, нежели сурово, отказался от восторженной идеи Оксаны: - Нет! Не получится! Это совсем маленький тупичок. В него можно загнать только один вагон или только локомотив. А ведь у нас кроме паровоза еще три вагона.». Не прерывая рассказ, учитель рисует план тупика (рис. 3.1):

Рис. 3.1 Исходное состояние задачи о бронепоезде

«Собравшиеся вокруг стола молчали, видимо, согласившись с мнением опытного командира. Вдруг Валерка, самый сообразительный из «неуловимых», вскочил со стула: — Еще как получится! Вот смотрите! И, схватив несколько спичечных коробков, которые должны были изображать вагоны, начал объяснять алгоритм разворота». В этом месте учитель возвращает класс из героической эпопеи гражданской войны к сиюминутным событиям: — Ваша задача, ребята, состоит в том, чтобы восстановить ход рассуждений Валерки. Вы должны описать одно за другим те действия, которые предстоит выполнить машинисту бронепоезда, чтобы развернуться в маленьком тупике одноколейного пути. Напоминаю условия задачи:

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

  2. в тунике можно разместить либо только один вагон, либо только паровоз без вагонов;

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

Рис. 3.2. Конечное состояние задачи о бронепоезде

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

ВПЕРЕД

НАЗАД

ПРИЦЕПИ

ОТЦЕПИ

СТРЕЛКА

Однако трактовка команд (ответ на вопрос «КАК ВЫПОЛНЯЮТСЯ» в схеме знакомства) совсем иная:

— ВПЕРЕД: движение вперед

  • либо до ближайшей закрытой стрелки,

  • либо до тупика,

  • либо до стоящих на пути вагонов,

  • либо за стрелку на основном пути (если стрелки открыты);

— НАЗАД: (аналогично) движение назад либо до ближайшей закрытой стрелки, либо до тупика,

  • либо до стоящих на пути вагонов,

  • либо за стрелку на основном пути (если стрелки открыты);

— ОТЦЕПИ: отсоединение от состава одного (дальнего от локомотива) вагона;

— ПРИЦЕПИ: соединение с одним (ближайшим к составу) вагоном;

— СТРЕЛКА (команда выполняется только для одной из стрелок, ближайшей к составу).

Рассмотрение этой задачи завершается выводом (уже звучавшим, но еще раз наглядно продемонстрированным): решение зависит от среды и, соответственно, от правил выполнения команд. Урок, включающий подробное обсуждение общей схемы знакомства, продолжает исполнитель Квадратик. Его простота может показаться удивительной: ведь к этому времени дети уже поработали с целой серией существенно более сложных программ. Однако простота Квадратика имеет свое методическое обоснование: учитель ничего не рассказывает о Квадратике (кроме имени). Задача учащихся состоит в том, что они должны самостоятельно научиться работать с этим исполнителем. Такая задача часто встречается в повседневной жизни, когда надо освоить бытовой прибор, техническая документация которого отсутствует. Учитель сразу же дает только что предъявленному новому дидактическому инструменту — плакату-слайду «Общая схема знакомства с исполнителем» — педагогическую нагрузку: по этому плакату школьники должны рассказать о Квадратике. Учитель следит за тем, чтобы дети точно следовали пунктам этой схемы.

  1. Новый исполнитель называется Квадратик. Назван он так потому, что с его помощью можно рисовать некоторые простые фигуры и среди них — квадрат.

  2. Среда Квадратика — рисованная модель экрана.

  3. СКИ составлена из пяти команд:

КВАДРАТ (KB)

ТРЕУГОЛЬНИК (ТР)

ОКРУЖНОСТЬ (ОК)

ЗАКРАСКА (ЗА)

ОЧИСТКА (ОЧ)

Команды этому исполнителю надо задавать, набирая их на клавиатуре заглавными русскими буквами (для упрощения в начальном состоянии программы установлен, по умолчанию, регистр заглавных русских букв). В связи с двойным способом задания команд Квадратика уместно отвлечься для обсуждения методического механизма постепенного сокращения синтаксических конструкций. Сущность этого метода состоит в том, что при первой встрече с тем или иным объектом, он (объект) по требованиям используемого языка записывается длинной синтаксической конструкцией. Конструкция эта, тем не менее, несет отчетливое семантическое наполнение. Работая с такой конструкцией, школьник легко усваивает изучаемое понятие, теряя, правда, темп за счет набора длинных слов на клавиатуре. С усвоением понятия можно использовать его сокращенные формы, которые, возможно, менее выразительны с точки зрения содержания понятия, но существенно ускоряют клавиатурные операции. Так, в Робике — одном из первых учебных языков программирования, ориентированных на младших школьников (Г. А. Звенигородский, «Первые шаги программирования», М.: Наука, 1986), команда присваивания сначала вводилась в своей полной форме:

ЗНАЧЕНИЕ [ИМЕНИ] <имя-1> ПРИСВОИТЬ ИМЕНИ <имя-2>

в которой раскрывалось содержание сложной, но фундаментальной команды присваивания; затем разрешалось опускать некоторые ключевые слова; получалась команда типа

ЗНАЧЕНИЕ АЛЬФА ПРИСВОИТЬ ИМЕНИ БЕТА

Потом оказывалось возможным не писать и слово ЗНАЧЕНИЕ:

АЛЬФА ПРИСВОИТЬ БЕТА

Наконец, вершиной фрагмента темы, посвященной присваиванию, становилось введение условного обозначения, которое заменяло собой ключевое слово ПРИСВОИТЬ:

АЛЬФА -> БЕТА

Школьники, прочувствовав в предшествовавших многочисленных трудоемких упражнениях смысл операции присваивания, встречали этот символ с пониманием и удовлетворением. Вернувшись теперь к исполнителю Квадратик, можно сказать: как ни трудно школьнику набирать длинные слова ТРЕУГОЛЬНИК и ОКРУЖНОСТЬ, следует настоять на том, чтобы в первом упражнении использовались полные варианты команд. С этой целью учитель (пока!) не говорит детям, что означают выделенные цветом первые две буквы в слове-команде. А вот при повторных упражнениях учащиеся узнают, что вместо длинной команды можно использовать ее двухбуквенную сокращенную форму и, как правило, принимают такую рекомендацию с удовольствием.

Если следовать схеме знакомства с исполнителем, то неисследованными остались пункты «Как выполняются команды» и «В каких ситуациях возникает сообщение Не могу». Важно, чтобы эта часть работы была проведена детьми полностью самостоятельно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]