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

Наука Школе

Как запустить Блэкбокс и выполнить первую программу

Ниже дано быстрое введение в работу в системе Блэкбокс. Инструкции ориентированы на использование русифицированной версии Блэкбокса в школе.

Запуск Блэкбокса производится двойным кликом по файлу BlackBox.exe или по соответствующему желтему ярлыку:

После запуска появится стандартная заставка:

в которой надо кликнуть по OK. После этого увидим примерно следующее (порядок меню соответствует анлоязычной версии):

Пустое окошко — "рабочий журнал" (Log), представляющий собой обычный документ в стандартном формате, используемом в Блэкбоксе (об этом формате см. здесь). Туда система пишет свои сообщения о компиляции и проч. Туда же удобно направлять простейший вывод. (Об использовании рабочего журнала см. здесь.)

Простейшая программа

Простейшая программа на Компонентном Паскале состоит из одного "модуля", состоящего из единственной выполняемой процедуры. Текст модуля может выглядеть так:

MODULE Привет;
    IMPORT  StdLog;

    PROCEDURE Сделать*;
    BEGIN
        StdLog.String("Привет!")
    END Сделать;

END Привет.

Смысл приведенного текста описан здесь.

Пара замечаний:

Теперь воссоздадим эту программу в Блэкбоксе.

Для этого выполним в нем сначала команду меню Файлы --> Новый (в нерусифицированном варианте Files --> New). Получим новое пустое окошко, озаглавленное безымянный1 (untitled1). Скопируем в него приведенный выше текст модуля. К сожалению, форматирование (отступы) при этом может быть частично потеряно, и результат может выглядеть так:

Как уже говорилось, детали форматирования компилятору не важны. (О том, как с удобством форматировать отступы, см. здесь.)

Скопировав, выполним команду меню Разработка --> Компилировать (Dev --> Compile или просто Ctrl+K с латинским K; переключать на русскую клавиатуру не обязательно). В рабочем журнале появится примерно следующее:

Сообщение во второй строке означает, что модуль скомпилировался успешно (числа несут информацию о размере получившегося машинного кода — в данном случае 28 байт) и что модуля с таким именем в системе перед данной компиляцией еще не было (слово new).

После компиляции перевод модуля Привет на машинный язык хранится на диске в определенном месте (см. ниже), и Блэкбокс может выполнять процедуры из этого модуля. (Фактически, успешная компиляция модуля автоматически включает модуль в систему, тем самым ее "расширяя". Кстати, бОльшая часть Блэкбокса представляет собой подобные расширения небольшого ядра. Никакой жесткой грани между модулями Блэкбокса и модулями, добавляемыми программистами, нет.) Cкомпилированный файл имеет имя Привет.ocf и хранится — в соответствии с принятыми в Блэкбоксе соглашениями — в папке Code в первичной директории Блэкбокса. Если последняя была выбрана по умолчанию, то полный адрес файла C:\Program Files\BlackBox\Code\Привет.оcf.

Выполнение программы с помощью коммандера

Опишем простой и удобный способ выполнить процедуру из скомпилированного модуля. (Есть и другие способы.)

Поставим курсор в окошке с нашим модулем в самый конец текста после точки, закрывающей модуль (Ctrl+End).

Выполним команду меню Инстр --> Вставить коммандер (Tools --> Insert Commander; с клавиатуры Ctrl+Q).
Появится черный кружок с белым восклицательным знаком — т.наз. коммандер (см. картинку ниже).

После коммандера без пробелов напечатать Привет.Сделать (имя модуля, точка, имя вызываемой процедуры — это "ФИО" нашей процедуры в системе; роль фамилии играет имя модуля; важно следить за прописными и строчными буквами, т.к. в Компонентном Паскале они различаются).

Теперь кликнем мышкой по коммандеру. Это вызовет загрузку скомпилированного модуля в память и выполнение процедуры. Можно кликнуть еще пару раз — процедура выполнится еще дважды.

После этого экран будет выглядеть примерно так:

Три идущих подряд цепочки символов Привет! соответствуют трем кликам по коммандеру — и трем выполнениям процедуры Сделать.

Сохранение файла с программой

Сохранить документ в окошке безымянный1 можно в любом месте на диске обычным образом (выполните команду меню Файлы --> Сохранить как...; Files --> Save as...). Для простоты сохраним модуль прямо в той папке, в которой откроется диалог Файлы --> Сохранить как..., с именем Привет (ниже показан соответствующий диалог непосредственно перед кликом по Save):

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

Наука Школе