Робот "Принтер"

Робот "Принтер" - буквально сделан на базе матричного принтера. Робот снабжен двумя моторами, которые управляются по радио. Соответственно, этот робот может двигаться "вперед - назад" с большей или меньшей скоростью и менять направление движения. Никаких сенсоров у робота-принтера пока еще нет.

В терминах Lego-Logo управление таким роботом описывается в следущих командах:

В управлении роботом-принтером используются ascii-коды. Таким образом, всякий символ может интерпретироваться роботом как управляющая команда, а слово или предложение как список команд.

В рамках спектакля в театре Imperia робот-принтер получает из разных источников тексты на разных языках и перемещается на базе этих текстов. (Алгоритм этого поведения известен авторам программного обеспечения робота).

Поведение робота-принтера легко имитируется черепашкой Лого. Эта черепаха будет ползать по экрану, изменяя свое направление, скорость движения, цвет? в соответствии с теми цифрами, которые она получает.

Команды к черепашке:

В данном случае алгоритм поведения никак не связан со структурами языка. Пусть в случае четных цифр черепаха поворачивается направо, а в случае нечетных поворачивается налево. Всякий раз после поворота она будет проходить небольшое расстояние и возвращаться назад.

Из-за разных кодировок для русских букв один и тот же текст будет восприниматься черепашкой по-разному. Ниже приведен "черепаховый" рисунок для текста песни А. Голубева про кузнечика. Текст и звук доступны в сети

win

koi8

TO CRAYON :list
IF EMPTYP :LIST [STOP]
RUN CRAY FIRST :LIST
CRAYON BF :LIST
END

TO CRAY :NUMBER
IF EQUALP :NUMBER 32 [OP [FD 10]]
IF CHET :NUMBER [OP (SE "RT :NUMBER [FD 1])]
OP (SE "LT :NUMBER [FD 1] )
END

to chet :num
if equalp round (:num / 2) (:num / 2) [op "true]
op "false
end