Наука — Школе |
Главная страничка занятий с 5-классниками Предыдущее занятие Следующее занятие
Очевиден конец
учебного года, погоды фантастические, летние. Занятия продолжают посещать
только самые упорные -- Марина и Саша.
Перед нашим уроком в
компьютерном классе занимаются 9-классники. Забавно, что самые упорные там
тоже девочки:
После четырех месяцев общения с 5-классниками странно видеть в том же классе практически взрослых барышень. Школа -- странное место.
Марина начала
с того, что продемонстрировала умение рисовать окружность -- что на прошлом
занятии научился делать Саша:
PROCEDURE Окружность*;
VAR i:
INTEGER;
BEGIN
FOR i := 1
TO 360 DO
Ч.Идти(1);
Ч.Повернуть(1);
END;
END Окружность;
Ей за это тут же было предложено превратить окружность в ёжика -- на каждом из 360 шагов к единичному шажку приделать радиальную "иглу". После некоторого первоначального напряжения (причину которого info21 не понял) Марина смекнула, в чем тут дело, и ёжик нарисовался:
За этот успех ей было предложено нарисовать меандр древнегреческого типа (данный в виде рисунка на клетчатой бумаге) -- процедурка для одного "шага" и цикл, который несколько раз вызывает эту процедурку. Марина справилась легко:
Любопытно, что Марина безо всяких подсказок уверенно применила очень разумные схемы работы (не вполне ясно, на счёт чего нужно это отнести -- на счёт самостоятельной домашней работы?):
1) открыла образец уже готовой программы с циклом, и справлялась по нему (при этом выбрав другое имя для управляющей переменной -- m от "меандр" вместо всегдашнего i);
2) отрабатывала рисование одного блока меандра в отдельной процедурке.
На фото видно, как у нее открыто два модуля: в левом начат цикл (можно разглядеть там скелет цикла-FOR с пустым телом), а в среднем окошке вспомогательная программа (кажется, это шаг 1)).
Видимо, здесь можно
говорить о преимуществе по сравнению с Турбо Паскалем в плане удобства работы:
всё одновременно на экране, можно немедленно переключаться с одного вида работы
на другой и обратно, копируя куски программы туда-сюда.
Похоже, Марина близка к тому, чтобы считать уверенным ее владение простыми процедурками и простыми циклами. Но нужно, конечно, еще поупражняться, чтобы циклы-процедуры комбинировались более-менее автоматически. Подозрение, что хорошо поупражнять ее "разгадыванием" готовых процедурок -- то, что делал в прошлый раз Саша в начале занятия.
Любопытная деталь:
Марина придумала делать отступы как в книжках: только первая строка конструкции
(FOR...) сдвигается вправо на одну табуляцию. Снимок
плохой, но вдвинутая строчка FOR хорошо видна:
Забавно и неожиданно. Хотя, в
сущности, логично -- в какой степени может быть логичной прямолинейная аналогия
с обычными текстами.
Разумеется, смысл табуляций в программном тексте другой, так что придется этим
заниматься отдельно.
Саша принес очень приличный кусок работы, сделанной дома:
Он не только сделал отдельный модуль с процедурами для рисования разных геометрических фигур (причем у него были Неквадрат :-) и Некуб), но и модуль документации к нему, причем с картинками и пояснениями.
Ясное дело, пришлось заняться организацией по Римскому принципу и в
соответствии с соглашениями Блэкбокса:
выбрали имя для Сашиной "подсистемы" (Адамович);
создали папку с этим именем в папке Блэкбокса;
в ней сделали папку для модулей (Mod)
и для меню и прочих "ресурсов" (Rsrc);
модуль Фигуры переименовали в АдамовичФигуры;
файл с этим модулем поместили в папку Mod;
при компиляции переименованного модуля Блэкбокс запросил
(вдруг ошибка в названии?) разрешения на создание папок Code
и Sym (для хранения скомпилированного модуля и
т.наз. символьного файла -- аналога h-файла в
C, но здесь символьный файл создается автоматически;
впрочем, знать про него особо и не надо).
В папку Адамович/Rsrc мы скопировали документ-образец Лицей5класс.odc из соответствующей папки Черепашки, и Саша открыл и добавил там в строку экспорта свой модуль с фигурами: Ф := АдамовичФигуры. Кажется, сам документ тоже был переименован, но это не так важно -- всё равно он в отдельной папке.
Затем в папку Адамович/Rsrc мы скопировали документ Menus.odc из Черепашки, и Саша открыл и переделал его (ненужное стер, а что-то подправил) под свои нужды (именно сей момент запечатлен на фотке):
Изменение меню
настолько легкая операция в Блэкбоксе, что даже едва умеющий программировать
5-классник способен справиться с задачей практически без помощи (после начальной
наводки).
После исправления документа меню его нужно сохранить (закрывать не обязательно) и выполнить Инфо, Обновить меню -- исправленное меню тут же станет доступным в Блэкбоксе.
В результате Саша получил совершенно независимую подсистемку в отдельной папке (которую можно целиком копировать в любую конфигурацию Блэкбокса, причем сделать это можно даже "в горячую" -- достаточно активировать меню как указано выше. Саша теперь совершенно автономен: свое меню и свой документ-образец для новых модулей с соответствующей командой импорта:
На фотке как раз видно раскрытое меню Адамович с набором команд, причем он там проявил инициативу (вижу только сейчас, в классе не заметил) -- добавил команду Открыть большую картинку в добавление к обычной Открыть картинку (в соответствующей строчке меню задаются размеры картинки, Саша это понял и поупражнялся). Последняя команда меню -- Фигуры -- справка по модуляю АдамовичФигуры с геометрическими фигурами.
Слева внизу -- заготовка модуля, появляющаяся по команде Адамович, Начать новую программу. Видно, что там в конце предложения импорта (третья строка) стоит Ф := АдамовичФигуры. Ф -- сокращение для длинного имени модуля (имена модулей часто становятся длинными, поэтому в языке предусмотрена возможность давать им сокращенные имена для использования в текущем модуле).
В качестве очередного задания Саше было предложено нарисовать раскрашенный конус так, чтобы цвет плавно переходил от красного на острие к зеленому на раструбе. По инерции Саша сразу стал делать четные кольца красным, нечетные -- зеленым (видимо, такая задача была на занятиях в Байтике). Но сделать плавный переход цветов гораздо труднее чисто математически. Пусть подумает.
В конце занятия
info21 подсмотрел в шкафу у Ольги Александровны
батарею учебников. Там был и потрепаный экземпляр нередко упоминаемого учебника
по Турбо Паскалю Петрова. В глаза бросается специфический, характерный для
компьютерных "мануалов" особый технарский стиль.
info21 уверен, что писать в таком стиле вовсе не обязательно и даже
вредно. Соседний на полке учебник, охарактеризованный О.А. как "совсем легкий"
был как раз написан без этого налета угрюмого технарства. Впрочем,
учебник этот менее полный. Anyhow...
Не хватает технарям-программерам
гуманитарной культуры.
И Марина, и
Саша сообщили о твердом намерении придти 26-го мая на последнее занятие.
Главная страничка занятий с 5-классниками Предыдущее занятие Следующее занятие
Наука — Школе |