🎯 Цели занятия

📋 План занятия

Этап занятияВремяЧто делаем
Орг. момент5 минВспоминаем занятие 3.5: повторяли код дерева
Теория: функции15 минЧто такое функция, вызов, аргументы
Интерактив15 минСравниваем подходы, отвечаем на вопросы
Практика: задания 1–325 минПростые функции и первый аргумент
Практика: задания 4–625 минФункции со строительством и лесом
Бонус и итоги5 минСложные функции, рефлексия
Итого90 мин—

1 Проблема: один и тот же код снова и снова

🔗 Связь с занятием 3.5: когда мы строили лес, код одного дерева приходилось копировать несколько раз. Программа становилась длинной, а если нужно было изменить высоту ствола — править приходилось во всех копиях. Сегодня мы научимся решать это по-умному!

❌ Копирование кода

[код дерева — 15 блоков]
двигаться вперёд 6
[код дерева — те же 15 блоков]
двигаться вперёд 6
[код дерева — снова 15 блоков]

≈ 45 блоков. Ошибка в одном месте — ломается всё.

✅ Функция

функция дерево:
  [код дерева — 15 блоков]

вызвать дерево
двигаться вперёд 6
вызвать дерево
двигаться вперёд 6
вызвать дерево

Код дерева написан один раз. Вызов — одна строка.

2 Что такое функция?

Функция — это именованный набор команд, который мы описываем один раз, а потом вызываем когда нужно.

Шаг 1 · Описание
функция столбик
«Рецепт» — что делать
→
Шаг 2 · Вызов
вызвать столбик
«Приготовить по рецепту»

Аналогия из жизни

Функция — как карточка с инструкцией «Как поставить чайник». Ты один раз записал шаги на карточку. Когда хочешь чай — просто берёшь карточку и выполняешь. Не нужно каждый раз заново придумывать, как включать чайник.

ТерминЧто значитБлок MakeCode
ФункцияИменованный кусок программыкнопка "создать функцию" (вкладка Функции)
ВызовЗапуск функциивызвать имя_функции
АргументЗначение, которое мы «передаём» в функциюПараметр в вызове функции (например, высота: 3)
Параметр«Пустое место» в функции для аргументаДобавляем при создании функции (например, высота)
💡 Где искать блоки: открой вкладку Функции → нажми «Сделать функцию». После создания появится зелёный блок-«шапка» на рабочей области — туда вкладываешь команды. Вызов — из той же вкладки, блок вызвать ….

3 Аргументы: одна функция — разные настройки

Без аргументов функция всегда делает одно и то же. С аргументами мы можем менять поведение, не переписывая код.

столбик_с_аргументом.txt
-- Функция с параметром "высота"
Функция с параметром

-- Вызовы с разными аргументами:
Вызовы с разными аргументами
    

Как добавить аргумент к существующей функции в MakeCode:

  1. Нажми правой кнопкой мыши на блок твоей функции
  2. Нажми на кнопку Изменить функцию в выпадающем меню: Изменить функцию
  3. Выбери тип параметра в «Добавить параметр» и назови его (например, высота)
  4. Внутри функции используй этот параметр вместо числа в цикле
📌 Запомни: параметр — имя «дырки» в функции (высота). Аргумент — конкретное число при вызове (3, 7). Одна функция — много разных аргументов!

4 Интерактив: закрепляем теорию

🧩 Что удобнее?

Нужно построить 5 одинаковых столбиков. Какой способ лучше?

Скопировать код столбика 5 раз подряд
Написать функцию «столбик» и вызвать её 5 раз
Удалить агента и строить вручную

🔢 Аргумент или параметр?

В записи вызвать столбик высота: 5 число 5 — это…

Аргумент (конкретное значение при вызове)
Параметр (имя внутри функции)
Переменная игрока

📞 Вызов функции

Какой блок запускает уже созданную функцию?

повторить 10 раз
вызвать [имя функции]
при получении команды чата

📋 Правильный порядок

Перетащи шаги в логичном порядке (сверху вниз — от первого к последнему):

  • Вызвать функцию в программе
  • Создать функцию и написать внутри команды
  • Запустить программу и проверить результат
🤖
Спроси Алису (ИИ-помощник)

Нажми на вопрос — Алиса ответит тебе прямо сейчас!

💬 Нажми на любой вопрос — откроется Алиса с готовым ответом.
💡 Хочешь спросить что-то своё? Спроси Алису про функции, аргументы или MakeCode.
Например: «Алиса, зачем программисты используют функции?»
⚠️ Никогда не отправляй Алисе личные данные (адрес, телефон, пароли).

🛠️ Практика: 6 заданий с функциями

Выполнено заданий: 0 из 12

Открой Minecraft Education и MakeCode. После каждого задания запускай программу и смотри, что делает агент.

1 Первая функция (без аргументов)

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

Внутри функции: повторить 3 раза → [подняться вверх, поставить блок]. Снаружи: при команде "тест" → вызвать столбик.

2 Несколько вызовов — видим разницу!

Вызови столбик 3 раза с паузой «шаг вперёд» между ними. Сравни длину программы с тремя копиями кода.

3 Первый аргумент: высота столбика

Добавь параметр высота в функцию столбик. Цикл внутри: повторить высота раз.

Между вызовами добавь двигаться вперёд, чтобы столбики не слились. Один код функции — три разные высоты!

4 Функция «квадрат» с аргументом

Создай функцию квадрат с параметром сторона. Внутри — вложенный цикл, как в занятии 3.4.

Внешний цикл: повторить сторона раз (строка). Внутренний: повторить сторона раз [поставить блок, вперёд]. Не забудь повороты в конце строки!

5 Функция «дерево» — возвращаемся к лесу!

Перенеси код одного дерева из занятия 3.5 в функцию дерево с аргументом высота_ствола.

Слот 1 — бревно, слот 2 — листья. После кроны: опуститься вниз столько раз, сколько было высота_ствола.

6 Мини-лес из функций

Собери всё вместе: команда чата лес вызывает деревья в цикле.

🎉 Поздравляем! Ты перешёл от «копировать-вставить» к настоящему программированию. Так пишут код настоящие разработчики!

⭐ Бонусные задания

📝 Проверь себя

1. Зачем нужны функции?

2. Где в MakeCode создать новую функцию?

3. Что такое аргумент?

4. В функции дерево (высота_ствола) слово высота_ствола — это…

5. Что изменится, если в функции «столбик» поменять цикл на «повторить высота раз» и вызывать с разными числами?

💭 Рефлексия

Сравни опыт занятий 3.5 и 4.1: