Занималась недавно со своим Максом программированием. Перешли к изучению функций (подпрограмм). В Пиктомире это та самая «команда А», которую мой ребенок вот уже месяц призывал ему показать. Показала 🙂
Функция – одно их самых сложных понятий для дошколят. Если цикл-повторитель идет на ура, то с командой А частенько возникают проблемы. Так что моей главной задачей было объяснить Максу ее смысл.
Итак, если в программе несколько раз повторяется одна и та же последовательность команд, то ее можно задать функцией (обозначить командой А). Тогда в записи главного алгоритма не придется все время повторять длинные последовательности одинаковых команд – их место займет команда А.
Понятное объяснения? – думаю, что для вас понятное 🙂 А вот для 6-летки не очень. Так что Максу я больше смысл команды А не на словах объясняла, а на деле показывала.
Можно программу записать «длинно», а можно коротко.
Составили вот такую программу: здесь команда А уже заполнена. Ребенок довольно быстро догадался, что в главном алгоритме надо вызвать четыре команды А.
Потом порешали вот такие задачки:
Сделай программу короче. Замени одинаковую последовательность командой А.
Выделяем одинаковые последовательности команд.
Заменяем их командой А.
И наоборот:
Запиши программу, не используя команду А.
Справились легко и непринужденно.
После этого Макс сумел внятно объяснить смысл команды А и решить вот такие задачки.
Хотите узнать больше о программировании для малышей? — Заходите!
А Макс понял аналогию между задачами в Пиктомире и примером с цветными кружками? Мне кажется, что упражнение с кружками слишком «оторвано от жизни». Робот понятным делом занимается, а кружки у чему?
Рита, спасибо за вопрос — он очень правильный. Макс все понял. Но понял потому, что задача с кружками имела для него смысл — это была программа раскопки клетчатого листа бумаги. А вообще вы правы — в этом возрасте чем больше конкретики и настоящей игры, тем лучше;)
Я своему сыну (6 лет) функцию объяснил так:
Я: Смотри, допустим, у нас есть пять команд подряд — вперед, вперед, направо, вперед, закрасить. И эти пять команд нужно повторить пять раз. (перед этим мы еще раз прошли задание 1, где я попросил его найти повторяющиеся части программы, и он нашел «вперед — закрасить», которые повторяются пять раз подряд)
Сын: Ого…
Я: Разве у тебя рука не устанет выкладывать эти пять команд пять раз?
Сын: Устанет, конечно!
Я (показываю ему пять его машинок): Сколько у меня машинок?
Сын (считает): Пять!
Я: Представь, что эти 5 машинок — это 5 твоих команд. Вместо того, чтобы выкладывать их пять раз подряд, мы один раз кладем их в мешочек (кладу его машинки в в зеленый полиэтиленовый пакетик). Теперь, когда нам нужно дать Вертуну такие же пять команд, которые идут в такой же последовательности, мы, вместо того, чтобы снова выкладывать эти команды, просто кладем в клеточку этот мешочек, который называется «функция». Робот увидит его и поймет, что ему нужно выполнить эти пять команд. Как ты думаешь — твоя ручка меньше устанет от этого?
Сын: Конечно меньше!
Я: Правильно. А еще нам будет легче читать такую программу, так как она будет занимать меньше клеточек. Поэтому, когда у тебя есть часть программы, которая повторяется несколько раз, лучше положить их в мешочек-функцию, и при повторениях выкладывать не набор из нескольких команд, а мешочек. Понятно?
Сын: Да!
Я: Ну, тогда иди расскажи маме, что такое функция.
Сын бежит к маме и рассказывает, что функция — это мешочек, в который складываются команды, и вместо того, чтобы писать много команд, можно положить этот мешочек, и робот их выполнит.
Я: А что, если мы уже сложили какие-то команды в мешочек, и используем его, когда нам нужно использовать эти команды снова, но тут мы видим, что у нас повторяются и другие команды? Что тогда делать?
Сын: Сложить эти команды в другой мешочек!
Я: А вдруг робот Вертун перепутает мешочки и выполнит не те команды? Или мы сами перепутаем мешочки? Тогда ведь Вертун сломается!
Сын молчит и напряженно думает.
Я: Для того, чтобы этого не произошло, каждому мешочку мы дадим свое название. Давай назовем этот наш мешочек «А»!
Сын: Давай!
Я: Но мы можем назвать его и «Б», и «В», и даже «Э»!
Сын: Или мы можем назвать его «Д», или «К», или «Ж», или …
Я: Правильно! Или мы можем вообще назвать его «Зеленый мешочек номер 1». Как хочешь, так можешь и назвать функцию. Главное, чтобы ты запомнил, что в функции с таким названием лежат такие-то команды в такой-то последовательности. Тогда ты не запутаешься и не перепутаешь мешочки. И роботу Вертуну будет легче не запутаться.
БЛЕСК!!! очень грамотно