Страницы сайта
Текущий курс
Участники
Общее
Тема 1
Тема 2
Тема 3
Тема 4
Тема 5
Тема 6
Тема 7
Тема 8
Тема 9
Тема 10
Тема 11
Тема 12
Тема 13
Тема 14
Тема 15
Тема 16
Тема 17
Тема 18
Тема 19
Тема 20
Тема 21
Тема 22
Тема 23
Тема 24
Тема 25
Тема 26
Методический комментарий для учителя к уроку «Исполнитель Перевозчик. Программа»
Урок 25. «Исполнитель Перевозчик. Программа»
На этом уроке ученики знакомятся еще с одним основным понятием курса – понятием программа. Программа, говоря неформально, – это инструкция исполнителю на выполнение последовательности команд. Простейшая программа – это просто последовательность команд. Исполнитель должен выполнить их друг за другом. Эти программы иногда называют линейными или неветвящимися. В курсе 5-го класса мы встретимся только с такими программами, поэтому уточняющий термин линейная программа использоваться не будет.
Замечание. В более сложных программах могут быть управляющие конструкции, например, ветвление и др. При ветвлении исполнитель сначала получает команду проверить определенное условие: если условие выполнено (истинно), исполнитель получает на выполнение одну последовательность команд, а если условие не выполнено (ложно) – то другую. Управляющие конструкции будут изучаться в курсе 6-го класса.
Программа, командир, исполнитель
То, что написано ниже в пояснениях к этому уроку, предназначено только для учителя, чтобы был понятен ход изложения материала. Ученики с ролью «командира» познакомятся на уроке 29, когда их опыт работы с исполнителями станет больше.
Человек может управлять исполнителем непосредственно, например, нажимая клавиши на пульте. Но часто это неудобно _ например, скучно много раз повторять одинаковые действия, а иногда и невозможно – когда нужно передавать команды с очень маленькими интервалами, как бывает при управлении станками. В таких случаях можно заранее составить для исполнителя программу действий или, говоря короче, просто программу. Это программу (записанную на понятном для исполнителя языке!) можно передать командиру исполнителя. Командир и будет командовать исполнителем, выполняя программу, составленную вами, автором программы. Получается такая цепочка:
При этом в качестве командира не обязательно должен выступать человек. Современные машины пока не могут понимать человеческую речь во всем ее богатстве. Но наши программы – это очень простые тексты. Например, те программы, с которыми мы имеем дело сейчас, это просто последовательности команд исполнителя. А список всех возможных команд мы знаем заранее. Поэтому программы часто пишут на специальных языках – языках программирования. С одним из таких языков – Алгоритмическим языком – мы знакомимся в этом курсе. Компьютеры могут разбирать программы, записанные на языке программирования, то есть по тексту программы понимать, какие команды и в каком порядке следует отдавать нужному исполнителю. В современном мире, как правило, так и происходит. Поэтому предыдущую схему обычно рисуют так:
программа команды
автор программы --------------à командипьютер-------------à исполнитель
Задача 150. Решение в этой задаче только одно: отвезя капусту на тот берег и вернувшись, перевозчик может взять либо волка (тогда будет построена программа, данная на листе определений), либо капусту – этот второй вариант и предлагается построить детям в этой задаче.
Задача не сложная, но отрабатывает понятия, введенные на листе определений: помимо работы с исполнителем Перевозчик, дети осваивают понятие программы как последовательности команд, понятие одинаковых и разных программ (разных последовательностей команд).
Ответ:
перевези козу
переправь крестьянина
перевези капусту
перевези козу
перевези волка
переправь крестьянина
перевези козу
Задача 151. Решения, выполненные разными учениками, конечно, могут различаться, но различия эти будут касаться скорее формы, чем содержания –например, можно по-разному назвать команды для исполнителя. Но по существу решение в этой задаче одно.
Ответ: исполнитель Перевозчик c этой задачей не справится.
Система команд исполнителя Другой Перевозчик:
перевези одного мальчика
перевези двух мальчиков
перевези солдата
Программа для решения задачи:
перевези двух мальчиков
перевези одного мальчика
перевези солдата
перевези одного мальчика
перевези двух мальчиков
перевези одного мальчика
перевези солдата
перевези одного мальчика
Задача 152. Составляя программу для решения задачи 151, ребята могли заметить, что она состоит из двух одинаковых частей: каждая часть при этом соответствует переправе на другой берег одного солдата. После каждой такой переправе лодка с двумя мальчиками снова оказывается на том же берегу, где была сначала. Решая эту задачу, уже всем детям придется выявить эту закономерность. Задача готовит детей как к восприятию конструкции цикла, так и к понятию вспомогательного алгоритма, с которыми они познакомятся позднее в нашем курсе (в 6 классе). Поддержите того ученика, который сам попытается придумать какой-нибудь способ сокращения записи программы – догадается назвать программу по перевозке одного солдата каким-то своим именем и просто будет повторять в программе эту новое имя «команды» столько раз, сколько солдат надо перевести. Но в основном дети будут решать эту задачу ничего не придумывая – выписывая последовательности команд столько раз, сколько нужно. И на данном этапе этого достаточно.
Ответ: а) перевези двух мальчиков
перевези одного мальчика
перевези солдата
перевези одного мальчика
перевези двух мальчиков
перевези одного мальчика
перевези солдата
перевези одного мальчика
перевези двух мальчиков
перевези одного мальчика
перевези солдата
перевези одного мальчика
перевези двух мальчиков
перевези одного мальчика
перевези солдата
перевези одного мальчика
перевези двух мальчиков
перевези одного мальчика
перевези солдата
перевези одного мальчика
б) 4 команды для перевозки одного солдата повторяются в программе 7 раз, в) 4 команды для перевозки одного солдата повторяются в программе 10 раз.
Задача 153. Несложная задача. Если вы предлагаете ее всем учащимся, то сильных стоит попросить решить ее двумя способами (разрезанием и достраиванием). На примере этой задачи посмотрите, освоили ли ваши дети достраивание многоугольника на сетке. Здесь мы умышленно не пишем, что задачу надо решить, не разрезая, но в данном случае решать достраиванием гораздо проще. Действительно, чтобы найти площадь И достраиванием, достаточно из площади прямоугольника 5 на 3 клетки вычесть две площади прямоугольного треугольника 1 на 2 клетки (1/2 ед. кв.).
Ответ: площадь многоугольника И равна 14 ед. кв.
Задача 154. Необязательная. Данная задача содержит в себе два задания. Первое – выделить подмножество латинских букв. Второе – упорядочить элементы этого подмножества по алфавиту. Поэтому в тетрадях у ребят должно быть нарисовано подмножество латинских букв и последовательность букв этого множества, упорядоченных по алфавиту. Скорее всего, для решения этой задачи ребятам понадобится латинский алфавит. Его можно найти на фóрзаце учебника – там латинские буквы упорядочены по алфавиту.
Ответ: D, F, G, I, J, L, N, Q, R, S, U, V, W, Y, Z.
Задача 155. Необязательная. Непростая творческая задача. Придумать исполнитель и выписать какую-нибудь систему команд для него – дело не очень сложное. А вот придумать задачу, которую можно решить с помощью этого исполнителя – совсем не просто. Кому-то из детей будет проще идти в другую сторону: найти задачу, решение к которой можно оформить в виде программы для исполнителя и описать этого исполнителя и его систему команд. Придумать еще одну задачу для этого же исполнителя в этом случае будет не очень сложным делом.
Задача 156. Практическая задача, позволяющая начать в классе обсуждения эффективности программ. Конечно, в полном объеме этот вопрос обсудить за несколько минут урока не получится, да это и не требуется сейчас. На этом этапе обучения важно обратить внимание ребенка на то, что одну и ту же задачу исполнитель может решить, выполнив как очень длинную программу, так и программу покороче или истратив больше или меньше воды.
Теперь, после такого обсуждения, вы можете просить ученика, написавшего для решения какой-либо задачи слишком длинную и неэффективную программу, постараться улучшить, оптимизировать ее.
Обратите внимание: ссылка на задачу 5 из урока Водолея в этой задаче, конечно, условная – корпус задач для компьютерного практикума остается целиком на ваше усмотрение. При составлении набора задач для первого практикума, просто проследите, чтобы пятая задача была обязательной для всех, но не слишком простой: чтобы программы, которые получатся у детей, могли получиться заметно разной длины и воды они могли при решении потратить разное количество – чтобы накопилось достаточно материала для сравнения и обсуждения.