Главная страница проекта ИНФОРМАТИКА-21

Наука Школе

Главная страничка занятий с 5-классниками   Предыдущее занятие   Следующее занятие

19 мая 2008. Двенадцатое занятие

Очевиден конец учебного года, погоды фантастические, летние. Занятия продолжают посещать только самые упорные -- Марина и Саша.

Перед нашим уроком в компьютерном классе занимаются 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-классниками   Предыдущее занятие   Следующее занятие

Главная страница проекта ИНФОРМАТИКА-21

Наука Школе