Книга для учителя Екатеринбург 2011 - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
Похожие работы
Название работы Кол-во страниц Размер
Книга для учителя. Просвещение. 2-е издание. Причастие как особая... 3 432.56kb.
Книга для учителя. Просвещение. 2-е издание. Морфемика. Орфография... 1 322.67kb.
Книга для учителя (Teacher’sBook): Биболетова М. З. Книга для учителя... 5 398.7kb.
Учебное пособие для учителя. Настольная книга учителя физкультуры. 1 53.52kb.
Инновационных методических разработок 10 1429.73kb.
Книга вторая Издание второе, исправленное и дополненное Екатеринбург... 24 5300.35kb.
Книга для учителя «Я иду на урок», Москва, «Первое сентября», 2002... 1 51.55kb.
Книга для учителя // Под ред. В. В. Воронковой. М., 1994. Глава Клиника... 1 270.83kb.
2 Журавлев Сергей (mmc lancer, ) Екатеринбург 271,0 193 78 0 0,0... 1 435.79kb.
2 Журавлев Сергей (mmc lancer, ) Екатеринбург 271,0 193 78 0 0,0... 1 435.5kb.
Классный час «Екатеринбург один из крупнейших культурных центров... 1 79.91kb.
Рабочая программа составлена в соответствии с Федеральным государственным... 1 118.52kb.
Направления изучения представлений о справедливости 1 202.17kb.

Книга для учителя Екатеринбург 2011 - страница №1/3

А.Г.Гейн

Методика изучения алгоритмизации с помощью учебных исполнителей
Книга для учителя

Екатеринбург

2011

Содержание

Введение ………………………………………………………………………. 3

Дидактические цели и методические установки введения понятия «формальный исполнитель» ….…………………………………………. 7

Методика изучения алгоритмических конструкций с помощью исполнителя Паркетчик ………………………………………………………………… 20

Методика изучения переменных и структур данных с помощью исполнителя Паркетчик ………………………………………………………………… 31

Литература ……………………………………………………………………. 43


Введение

Появление более чем четверть века назад в школьном расписании предмета «Информатика» (а точнее «Основы информатики и вычислительной техники») одним из главных мотивов имело целенаправленное развитие у школьников алгоритмического мышления. Именно это позволило в то время несколько лет вести преподавание данного курса в так называемом бескомпьютерном варианте, что сегодня представляется абсолютно абсурдным. Коренные перемены в обществе и стремительное вхождение в нашу жизнь информационных технологий привело к тому, что в 90-е годы школьный курс информатики трансформировался в изучение офисных и близких к ним технологий, поскольку именно владение такими технологиями давало выпускнику школы шанс найти приемлемое место в бурно информатизирующемся обществе. Взаимодействие с компьютером заняло центральное место в идеологии курса информатики того времени (1995 – 2005 гг.). Такое взаимодействие, как и взаимодействие с любым инструментом – будь то токарный станок или швейная машинка, технологично, и потому обучение в курсе информатики неизбежно уходило в изучение соответствующих технологий. Отличие компьютера от таких инструментов, как токарный станок или швейная машинка, в этом плане (разумеется, у него есть много других отличий!) состоит в том, что программное обеспечение, посредством которого и реализуется взаимодействие человека с компьютером, делится на прикладное и системное.1 Потому и освоение технологий здесь также раздваивается – обучение технологиям работы с прикладными программами и обучение технологии программирования. Более того, обучение программированию стали выдавать за обучение алгоритмизации. Конечно, в Федеральном компоненте государственного общеобразовательного стандарта, принятого в 2004 г., наряду с технологическим контентом присутствуют все основные дидактические линии курса информатики, но то мизерное количество часов, отводимое на изучение курса «Информатика и ИКТ», и, как уже было сказано, наследие предшествующего десятилетия, де факто сводили на нет освоение собственно информатики как дисциплины, рассматривающей фундаментальные аспекты протекания информационных процессов. Их изучение в лучшем случае осуществлялось скороговоркой на фоне массированного изучения текстового редактора Word, табличного процессора Excel, какого-либо графического редактора типа Corel Draw или Adobe Photoshop, средств презентационной графики, скажем, Power Point, и т.д. Проводимое нами с 2006 г. анкетирование студентов, поступивших на 1 курс математико-механического факультета Уральского государственного университета им. А.М. Горького (ныне вошедшего в состав Федерального университета им. первого Президента России Б.Н.Ельцина), показывает, что более 90% говорят о своем школьном курсе информатике именно как предмете, на котором изучались указанные выше средства информационных технологий (иногда, если речь идет о специализированных классах, еще добавляются языки программирования). Традиционная для нашей страны ситуация, когда строгость закона (а государственный образовательный стандарт имеет статус закона) смягчается необязательностью его исполнения.

Подмена освоения алгоритмизации изучением программирования имеет еще один отрицательный момент. Программирование – это вид профессиональной деятельности, которой по данным Федеральной службы государственной статистики (Росстат) на 2009 год занимается менее 2% всех работающих. Даже для высоко развитых в информационном отношении стран доля занятых в сфере ИТ-индустрии составляет 3,74% в США, 3,16% в Великобритании и 3,14% в Германии (см. [5]). Вряд ли для нашей страны следует ожидать в ближайшем будущем скачка даже до 3%. Поэтому для подавляющего большинства школьников обучение программированию совершенно справедливо представляется абсолютно ненужным и бесперспективным занятием, навязанным свыше бездушными чиновниками из Министерства образования и науки.

Федеральный государственный образовательный стандарт (ФГОС) второго поколения включает в себя лишь рамочное решение вопроса о содержании курса информатики. Вот как оно представлено в описании предметных результатов освоения основной образовательной программы основного общего образования для единой предметной области «Математика и информатика» ([6], с. 14 – 15):


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

  • формирование информационной и алгоритмической культуры; формирование представления о компьютере как универсальном устройстве обработки информации; развитие основных навыков и умений использования компьютерных устройств;

  • формирование представления об основных изучаемых понятиях: информация, алгоритм, модель – и их свойствах;

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

  • формирование умений формализации и структурирования информации, умения выбирать способ представления данных в соответствии с поставленной задачей — таблицы, схемы, графики, диаграммы, с использованием соответствующих программных средств обработки данных;

  • формирование навыков и умений безопасного и целесообразного поведения при работе с компьютерными программами и в Интернете, умения соблюдать нормы информационной этики и права.

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

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



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

  • уровень технологического владения компетенциями: умение самому спланировать, придумать схему создания информационного продукта или операций над ним;

  • уровень экспертного владения компетенциями: умение дать обоснованную качественную оценку информационному продукту, указав его достоинства и недостатки;

  • уровень аналитико-синтезирующего владения компетенциями: умение на основе анализа готового информационного продукта и технологии обращения с ним предлагать изменения в структуре самого продукта или технологии его изготовления.

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

Дидактические цели и методические установки введения понятия «формальный исполнитель»

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

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

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

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

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

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

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

Методологическое значение изучения понятия «формальный исполнитель» трудно переоценить. На самом деле именно это понятие сделало возможным получать ответ на такой вопрос, существует ли алгоритм, позволяющий решить ту или иную задачу. Мы же остановимся лишь на использовании этого понятия как дидактического средства при изучении алгоритмизации. При этом, как уже было отмечено выше, основное внимание удается сосредоточить именно на развитии у учащихся алгоритмического стиля мышления и проверки понимания именно алгоритмической сущности тех или иных процессов, а не программистской оболочки. Не случайно, и в ГИА, и в ЕГЭ значительное число заданий по алгоритмизации сформулировано именно с использованием исполнителей, а не в форме программ на языке программирования (хотя задания такого типа, разумеется, тоже присутствуют). Впрочем, умение эффективно выполнять такие задания – это лишь надводная часть айсберга. Исполнители в учебном процессе появились, прежде всего, для обучения школьников алгоритмизации.

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



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

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

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

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

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

  6. Обычно противники использования исполнителей утверждают, что им хватает лишь одного исполнителя — компьютера. Это утверждение не вполне корректно, поскольку неявно подразумевается тот или иной язык программирования или стандартный набор информационных технологий. Фактически это те же исполнители, только с трудно обозримым набором допустимых действий.

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

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

Одним из учебных исполнителей является Паркетчик,3 который уже более 20 лет активно используется в учебниках информатики, созданных авторским коллективом под руководством профессора А.Г. Гейна (см., например, [1 – 3].4 Этот исполнитель был разработан на основе анализа существовавших до него учебных исполнителей, предложенных С. Пейпертом, Г.А. Звенигородским, А.Г. Кушниренко и др., а его применение для обучения алгоритмизации впервые было описано в учебнике [4]. Как и учебные исполнители упомянутых выше авторов, Паркетчик обладает важными дидактическими достоинствами: наглядность в исполнении алгоритмов, русскоязычный интерфейс, детальная диагностика синтаксических и семантических ошибок. В то же время он подчеркнуто минимален по набору допустимых действий, дабы учащиеся не отвлекались на детали, несущественные с точки зрения обучения алгоритмизации. Важной особенностью исполнителя Паркетчик является возможность наглядного моделирования работы со структурами данных различного типа – массивом, стеком, очередью, графом. Кроме того, Паркетчик позволяет моделировать машину Поста (разумеется, на ленте ограниченной длины), что дает возможность в классах углубленного изучения информатики затрагивать весьма сложные вопросы теории алгоритмов.

Дидактическое предназначение Паркетчика — обучение алгоритмическим конструкциям и способам организации данных. Поэтому при разработке этого исполнителя мы стремились свести к минимуму разнообразие допустимых действий (чтобы не перегружать память ученика) и не навязывать ему функции, выходящие за рамки поставленной дидактической цели. В этом отношении Черепашка ЛОГО умеет делать «слишком много», и освоение того, что она умеет, нередко уводит в сторону от главной задачи — обучения алгоритмизации.

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



Рис. 1. Поле Паркетчика, программный листок и окно диагностики выполнения программы.

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

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

• Шаг вверх;

• Шаг вниз;

• Шаг вправо;

• Шаг влево.

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

Кроме того, у Паркетчика есть еще два допустимых действия:

• Положить красную плитку;

• Положить зеленую плитку.

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

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

Осталось сообщить, что в начале игры Паркетчик всегда находится в левом нижнем углу, т. е. в клетке (1, 1).

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










































10



























9



























8



























7



























6



























5



























4



























3



























2


























1






























1

2

3

4

5

6

7

8

9

10







а) Планшет с полем для Паркетчика б) Вид плитки с торца

(закрашенные клетки означают,

что на них установлены плитки)

Рис. 2


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

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

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

Задание 1. Рассмотрите следующий алгоритм:

Шаг вверх;

Шаг вправо;

Положить (з);

Шаг вправо;

Снять плитку;

Положить (к);

Шаг вверх;

Шаг влево;

Положить (к);

Исполните его для каждого из паркетов, изображенных на рис. 3. Объясните, почему в некоторых ситуациях Паркетчик отказывается работать, выдавая сообщение; «Ошибка во время исполнения».













































































































































































а) б) в)

Рис. 3.


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

Отметим, что именно визуализация Паркетчиком исполнения алгоритма позволяет эффективно проверять правильность результата и отыскивать места логических ошибок. Нами не предусмотрен режим пошаговой отладки программ, но имеющаяся возможность менять скорость исполнения программы позволяет без труда отслеживать ход исполнения алгоритма и локализовывать места ошибок. Прекратить исполнение программы можно нажатием клавиши ESC или щелкнув мышкой на иконке с буквой S на верхней панели. Синтаксические ошибки автоматически выявляются во время компиляции, а семантические диагностируются Паркетчиком в ходе исполнения программы. Среди синтаксических ошибок отметим одну, наиболее часто встречающуюся: в команде «Положить (к)» буква «к» набирается в латинском регистре. Будет ли эта буква набрана в верхнем регистре (т.е. заглавной) или нижнем — роли не играет.



Рис. 4. Выбор команды из меню Шаблоны

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

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

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

Рис. 5. Выбор условия в контекстном меню

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

При сохранении программы имя файла автоматически получает расширение prg, при сохранении паркета — расширение prk. Поэтому для сохранения программы или паркета в соответствующем окне, которое появляется после того, как нажата клавиша F2 или выбран соответствующий пункт в меню (на рис. 6 показано меню для записи программы), нужно набрать имя без какого бы ни было расширения. Напомним, что выход в верхнюю строку со списком различных меню осуществляется нажатием клавиши F10.



Рис. 6. Выбор пункта меню для сохранения программы

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

Учащиеся могут создавать на поле Паркетчика те или иные орнаменты, так сказать, в ручном режиме. Для этого надо выбрать мышкой нужную плитку, щелкнув на советующем её изображении, расположенном ниже поля Паркетчика, а затем щелкнуть на соответствующей клетке поля или проводя курсором мышки полоску на поле Паркетчика. Чтобы убрать плитку с поля. Надо проделать то же самое, выбрав серый квадратик.

Вот примеры двух заданий, которые позволяют учащимся освоиться с интерфейсом Паркетчика.

Задание 2. На рисунке 7 приведены узоры, используемые в народном творчестве. Составьте алгоритмы для Паркетчика, выполнив которые он выложит эти орнаменты.






































































































































































































































































































































































































































































































































































































































































































а) Русский б) Удмуртский в) Белорусский

Рис. 7. Национальные народные орнаменты

Задание 3. а) Нарисуйте какой-нибудь небольшой орнамент, приятный вашему глазу. Составьте алгоритм для Паркетчика по выкладыванию этого орнамента.

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



Методика изучения алгоритмических конструкций с помощью исполнителя Паркетчик

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

Изучение циклов позволяет продемонстрировать учащимся главное преимущество компьютера перед человеком — выполнение большого числа действий за короткое время. Ведь даже весьма короткий циклический алгоритм, составить который не так уж долго, при исполнении может потребовать выполнения нескольких сотен действий, с которыми компьютер справится намного быстрее, чем человек. Для алгоритмов с ветвлениями ситуация принципиально иная: в алгоритме требуется записать больше действий, чем может быть на самом деле придется исполнять — из двух альтернатив всегда выполняется только одна. Поэтому в случае изучения ветвлений до циклов учащиеся нередко ропщут, что проще “вручную” проверить выполнение условия и указать компьютеру, что делать дальше, чем формализовать требуемое условие и аккуратно расписать обе альтернативы. У школьников создается впечатление, что времени на создание алгоритма с ветвлением уходит больше, чем на его исполнение в режиме пошаговой отдачи команд исполнителю. С циклическими алгоритмами дело обстоит, как было сказано выше, наоборот. Поэтому изучение циклов является мощным мотивирующим фактором к изучению алгоритмов в целом.

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



Программа

{Делать пока (не справа стена)

{ Положить (к);

Шаг вправо;

}

}

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



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

Вот вариант искомого алгоритма:



следующая страница >>



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