ГРИС — это учебная среда ГРафический ИСполнитель
, предназначенная для изучения базовых алгоритмических конструкций (следование, ветвление, цикл, подпрограмма) на простых и наглядных примерах. Предлагаемая реализация ГРИС выполнена с использованием клиентских веб-технологий (HTML, CSS и JavaScript) и предназначена для работы в современных веб-браузерах на различных программно-аппаратных платформах. В ней могут без изменений выполняться программы для ГРИС "Кенгурёнок".
Версия ГРИС: 1.00, октябрь 2020 года.
Автор реализации: Орещенков Игорь Сергеевич.
Исходные тексты ГРИС распространяются по лицензии GPL v.3 и могут быть получены в репозитории GitHub.
Среда ГРИС может эксплуатироваться как в локальном, так и в сетевом варианте. Для локальной установки достаточно распаковать содержимое дистрибутивного архива на целевом компьютере. При этом будет создан каталог gris
, содержащий все необходимые для работы файлы. Чтобы запустить среду ГРИС, надо открыть в веб-браузере файл gris/index.html
.
Для использования ГРИС в сетевом варианте необходимо распаковать содержимое дистрибутивного архива в каталог документов веб-сервера. После этого запуск среды ГРИС может быть осуществлён путём ввода в адресной строке веб-браузера сетевого пути к файлу gris/index.html
на сервере.
Если веб-сервер поддерживает выполнение PHP-сценариев, то появляются дополнительные возможности использования среды ГРИС, описанные в конце этого документа. Быстро организовать такой сервер в локальной сети можно с помощью интерпретатора PHP. В среде операционной системы Windows для этого достаточно:
php.ini-productionс именем
php.ini;
C:\PHP7\php.exe -S 192.168.0.77:8080 -t C:\GRIS\
, где 192.168.0.77— IP-адрес сервера,
8080— номер TCP-порта, на котором будут обслуживаться HTTP-запросы,
C:\GRIS\— путь к папке с файлами среды ГРИС.
После этого среда ГРИС становится доступной в локальной вычислительной сети по адресу http://192.168.0.77:8080/
. Возможно, потребуется настройка брандмауэра для разрешения доступа к новому сетевому ресурсу сервера.
Для завершения работы веб-сервера достаточно в окне, где он выполняется, нажать комбинацию клавиш <CTRL>+<C>.
TAB…:
F1прыжок,
F2шаг,
F3поворот. Очистить рабочую поверхность и вернуть исполнителя в исходное положение можно с помощью пункта меню
ESCсброс.
копировать-и-вставить. Очистить текстовый редактор от текста программы можно с помощью пункта меню
ESCстереть.
F1пуск), пошаговом (пункт меню
F2отладка) или быстром (пункт меню
F5результат) режиме. С помощью пункта меню
ESCсбросможно очистить рабочую поверхность и вернуть исполнителя в исходное положение.
прыжок
— перемещение исполнителя в текущем направлении на одну клетку без рисования линии;шаг
— перемещение исполнителя в текущем направлении на одну клетку с рисованием линии;поворот
— изменение текущего направления путём поворота исполнителя на четверть окружности (90°) против часовой стрелки;если впереди край, то
… конец ветвления
— проверка условия и выполнение блока команд в случае его истинности;если впереди не край, то
… конец ветвления
— проверка условия и выполнение блока команд в случае его истинности;пока впереди край, повторять
… конец цикла
— выполнение блока команд, пока истинно условие;пока впереди не край, повторять
… конец цикла
— выполнение блока команд, пока истинно условие;процедура название
… конец процедуры
— определение подпрограммы с именем название;сделай название
— выполнение подпрограммы с именем название.Интерфейс среды ГРИС и команды языка программирования могут быть переведены на национальный язык. Для этого потребуется создать копию файла 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-страницы текстов программ для ГРИС вместе с описаниями и иллюстрациями. При желании эти программы могут быть моментально загружены в среду ГРИС для демонстрации и изучения.