Эта глава не закончена
Черепаха понимает черепаший язык и может выполнять команды на этом языке. Язык черепах состоит из набора команд. Таким образом, текст на черепашьем языке можно рассматривать как программу, а черепаху — как исполнителя таких программ.
Черепаха находится на координатной плоскости и может передвигаться по ней только вперёд, но может также поворачиваться на месте. При движении черепаха способна чертить линию карандашом, или двигаться, не оставляя за собой след. Есть возможность заменять карандаши, и тем самым управлять толщиной линии и её цветом.
Вот перечень команд черепашьего языка (он не является исчерпывающим):
длина
Сдвинуться вперёд на расстояние длина
, оставляя
за собой линию, если карандаш опущен.
угол
Повернуться на угол
относительно текущего курса
черепахи.
толщина
Установить толщину
линии.
цвет
Установить цвет
карандаша.
x
y
Перейти в точку с декартовыми координатами (x
,
y
). Линия при этом не чертится независимо от того,
поднят ли карандаш или нет.
угол
Задать направление черепахи. Угол
отсчитывается
от положительной полуоси абсцисс, и, естественно, против
часовой стрелки.
Сохранить состояние черепахи (её координаты, направление, цвет и толщину линии).
Восстановить состояние, в котором была черепаха непосредственно на момент последней команды SAVE. Команда не влияет на то, что было нарисовано перед её вызовом. Ни в какой момент количество вызовов команды RESTORE не должно превышать количество вызовов команды RESTORE.
Черепаший язык составляет основу языка программирования LOGO. Кроме черепашьих команд LOGO содержит и другие команды, позволяющие работать с переменными, организовывать ветвление и циклы, программировать новые команды, использовать рекурсию, а также осуществлять простой ввод/вывод. Всё это делает язык LOGO почти полноценным (хотя и довольно специализированным) алгоритмическим языком.
Из-за своей простоты и наглядности результатов работы программ язык LOGO очень популярен в качестве языка для обучения детей (в том числе маленьких) основам программирования. Однако многие энтузиасты и в зрелом возрасте не теряют интерес к этому языку.
Не существует единого стандарта языка LOGO. Получили распространение десятки его диалектов, отличающихся друг от друга как набором поддерживаемых команд, так и правилами синтаксиса. LOGO лежит в основе многих систем черепашьей графики. Скриншот одной из них, KTurtle, представлен на рисунке 43.1. «Скриншот программы KTurtle».
Следует отметить ещё один хороший проект Scato, реализованный на языке Python. Он представляет из себя оконную систему программирования на одном из диалектов черепашьего языка с возможностью наблюдать за происходящим в отдельном графическом окне и сохранять изображения в формате PostScript.