Графический исполнитель (ГРИС)

Общие сведения

ГРИС — это учебная среда ГРафический ИСполнитель, предназначенная для изучения базовых алгоритмических конструкций (следование, ветвление, цикл, подпрограмма) на простых и наглядных примерах. Предлагаемая реализация ГРИС выполнена с использованием клиентских веб-технологий (HTML, CSS и JavaScript) и предназначена для работы в современных веб-браузерах на различных программно-аппаратных платформах. В ней могут без изменений выполняться программы для ГРИС "Кенгурёнок".

Версия ГРИС: 1.00, октябрь 2020 года.

Автор реализации: Орещенков Игорь Сергеевич.

Исходные тексты ГРИС распространяются по лицензии GPL v.3 и могут быть получены в репозитории GitHub.

Установка

Среда ГРИС может эксплуатироваться как в локальном, так и в сетевом варианте. Для локальной установки достаточно распаковать содержимое дистрибутивного архива на целевом компьютере. При этом будет создан каталог gris, содержащий все необходимые для работы файлы. Чтобы запустить среду ГРИС, надо открыть в веб-браузере файл gris/index.html.

Для использования ГРИС в сетевом варианте необходимо распаковать содержимое дистрибутивного архива в каталог документов веб-сервера. После этого запуск среды ГРИС может быть осуществлён путём ввода в адресной строке веб-браузера сетевого пути к файлу gris/index.html на сервере.

Если веб-сервер поддерживает выполнение PHP-сценариев, то появляются дополнительные возможности использования среды ГРИС, описанные в конце этого документа. Быстро организовать такой сервер в локальной сети можно с помощью интерпретатора PHP. В среде операционной системы Windows для этого достаточно:

После этого среда ГРИС становится доступной в локальной вычислительной сети по адресу http://192.168.0.77:8080/. Возможно, потребуется настройка брандмауэра для разрешения доступа к новому сетевому ресурсу сервера.

Для завершения работы веб-сервера достаточно в окне, где он выполняется, нажать комбинацию клавиш <CTRL>+<C>.

Использование

Учебная среда ГРИС может функционировать в трёх режимах, переключение между которыми осуществляется с помощью пункта меню TAB…:
  1. Непосредственное выполнение команд — рисование на рабочей поверхности с помощью команд, представленных пунктами меню F1прыжок, F2шаг, F3поворот. Очистить рабочую поверхность и вернуть исполнителя в исходное положение можно с помощью пункта меню ESCсброс.
  2. Программирование исполнителя — ввод и редактирование программы. Команды могут набираться с клавиатуры или вводиться путём выбора пунктов меню. Допускается использовать приём копировать-и-вставить. Очистить текстовый редактор от текста программы можно с помощью пункта меню ESCстереть.
  3. Выполнение программы — выполнение программы в автоматическом (пункт меню F1пуск), пошаговом (пункт меню F2отладка) или быстром (пункт меню F5результат) режиме. С помощью пункта меню ESCсброс можно очистить рабочую поверхность и вернуть исполнителя в исходное положение.
Язык программирования ГРИС содержит следующие команды:

Локализация

Интерфейс среды ГРИС и команды языка программирования могут быть переведены на национальный язык. Для этого потребуется создать копию файла script/i18n_ru.js или script/i18n_en.js с именем script/i18n_КЯ.js (где КЯ - код языка) и перевести содержащиеся в нём строки текста на целевой язык. Новый файл надо подключить к среде ГРИС, добавив ссылку на него внутри файла index.html между ссылками на файлы script/i18n.js и script/index.js.

При запуске среды ГРИС в качестве предпочтительного языка интерфейса полагается язык интерфейса веб-браузера. Можно при запуске среды ГРИС явно указать предпочтительный язык в адресной строке следующим образом: …/index.html?lang=КЯ, где КЯ — код языка.

Чтобы предпочтительный язык интерфейса мог быть использован, должен существовать соответствующий ему файл script/i18n_КЯ.js. Если нужного файла нет, то будет установлен русский язык.

Дополнительные возможности

При сетевом варианте использования ГРИС и поддержке веб-сервером сценариев PHP открывается возможность передачи в среду ГРИС исходных текстов программ для выполнения, для чего предназначен входящий в дистрибутивный пакет PHP-сценарий program.php. Чтобы передать текст программы в ГРИС, надо создать HTML-файл, содержащий такую форму:

…
<form method="post" action="…/gris/program.php">
<input type="hidden" name="lang" value="ru">
<textarea name="program" readonly="readonly">
Здесь записывается текст программы для исполнителя
</textarea><br>
<input type="submit" value="Выполнить">
</form>
…

В заголовке формы вместо …/gris/program.php следует указать сетевой путь к файлу PHP-сценария на веб-сервере, например, в локальной сети это может быть: http://192.168.0.77:8080/gris/program.php, где 192.168.0.77 — IP-адрес веб-сервера, а 8080 — TCP-порт, на котором веб-сервер принимает запросы.

На веб-странице, содержащей такую форму, будет отображаться блок с текстом программы и кнопкой Выполнить, при нажатии на которую запускается среда ГРИС в режиме выполнения заданной программы. Где размещена такая веб-страница — на веб-сервере с ГРИС, на другом веб-ресурсе или на локальном компьютере — значения не имеет. Главное, чтобы у устройства, на котором открывается эта веб-страница, был сетевой доступ к веб-серверу с ГРИС.

Вот пример рекурсивной программы рисования лестницы, которая может быть быстро выполнена в среде ГРИС (требуется доступ к сети Интернет):

Программа рисования лестницы


Описанная возможность открывает путь для встраивания на HTML-страницы текстов программ для ГРИС вместе с описаниями и иллюстрациями. При желании эти программы могут быть моментально загружены в среду ГРИС для демонстрации и изучения.