[an error occurred while processing this directive]
.сс
12 Несколько черепашек
______________________________________________________________
До сих пор на экране была только одна черепашка, однако ЛОГО позволяет управлять более, чем одной черепашкой одновременно.
Расширение ЛОГО, котороя управляет несколькими черепашками находится на системном диске. Для его загрузки используйте команду LOAD:
LOAD "MULT
Теперь расширение загружено.
Черепашка на экране имеет номер "0". Вы можете создать других черепашек используя команду HATCH. Например:
DRAW HATCH 1
Вы не увидите новую черепашку, т.к. она полностью перекрывается старой. Однако, если вы повернете старую черепашку командой
RIGHT 45
новой черепашки все равно не будет видно, т.к. черепашка создается невидимой. Чтобы сделать ее видимой надо с помощью команды TELL переключить управление на новую черепашку:
TELL 1
и сделать черепашку видимой:
SHOWTURTLE LEFT 45
На экране должно отобразиться две черепашки.
Команды, такие как LEFT или FORWARD, которые используются после TELL относятся только к выбранной черепашке. Вот почему 0-я черепашка перестала двигаться.
Если хотите, Вы можете выбрать группу черепашек, например:
TELL [0 1]
Это выбирает 0-ю и 1-ю черепашек, и все последующие команды будут выполняться ими одновременно. Для иллюстрации введите следующее:
REPEAT 100 [FORWARD 100]
Как Вы наверно заметили, в последней команде TELL номера черепашек заключены в квадратные скобки. Все, что представляется таким образом, называется "списки", и Вы можете их использовать в различных целях. Прежде всего, Вы использовали их в REPEAT. Затем Вы использовали список в 11-й главе (в команде IF использовался список [STOP]).
Списки имеют множество применений и более подробно о них рассказывается в 14-й главе. А сейчас они нас интересуют как средства отдачи приказов нескольким черепашкам одновременно.
Рассмотрим следующий пример:
TO CROSS DRAW HATCH [1 2 3] START 0 START 1 START 2 START 3 TELL [0 1 2 3] END TO START :NUMBER TELL :NUMBER RIGHT :NUMBER * 90 SHOWTURTLE END
Процедура CROSS образует три новых черепашки с поворотом на 90 градусов относительно друг друга.
Заметьте, что команда DRAW уничтожает всех созданных до этого черепашек.
Вы можете использовать эту процедуру для рисования очень интересных узоров. Например:
TO SQUARE REPEAT 4 [FD 100 LT 90] END
CROSS FORWARD 200 SQUARE
Ваши черепашки должны одновременно нарисовать четыре квадрата. Теперь измените CROSS и START для создания более четырех черепашек.
Произвольные перемещения
После экспериментов приведите процедуры CROSS и START в исходное состояние и выполните следующий пример:
CROSS REPEAT 500 [LEFT (RANDOM 360) FORWARD (RANDOM 100)]
Команда RANDOM генерирует случайное число в диапазоне от 0 до входного параметра команды. В последнем примере RANDOM 360 генерирует случайное число от 0 до 359. Это число используется для поворота влево на произвольный угол.
Теперь измените CROSS так, чтобы каждая черепашка имела свой цвет и перезапустите программу.
Рисование кругов
Снова приведите CROSS и START в первоначальный вид и наберите следующую процедуру:
TO MULTISPIRAL CROSS DOFOREVER [FD 100 LT 10] END
Команда DOFOREVER аналогична REPEAT. Она вызывает бесконечное выполнение команд, заключенных в ее списке.
Двигающиеся буквы
Вы можете изменить форму черепашки, например на космический корабль. Прежде всего изменим процедуру START следующим образом:
TOSTART :NUMBER TELL :NUMBER SETSH 65 + :NUMBER PENUP RIGHT :NUMBER * 90 SHOWTURTLE END
Теперь введите следующую строку и на экране начнут передвигаться символы:
CROSS REPEAT 500 [LEFT (RANDOM 360) FORWARD (RANDOM 100)]
Команда SETSH назначает черепашке символ, который будет ее индицировать. Как переопределять символы смотрите в руководстве по Бейсику.
Резюме
1. Новые черепашки могут быть созданы командой HATCH. Одной командой может быть создано сразу несколько черепашек.
2. Когда создается черепашка, она помещается на месте старой невидимая.
3. Для выбора черепашки используется команда TELL
4. Чтобы новая черепашка стала видимой, надо после команды TELL ввести SHOWTURTLE.
5. Вы можете изменить форму черепашки командой SETSH.
6. Команда RANDOM используется для получения случайных чисел.
7. Команда DOFOREVER используется для бесконечного повторения списка команд.
.сс
13 Черепашья навигация
______________________________________________________________
Если Вы хотите определить свое местонахождение или куда нибудь поехать лучше всего воспользоваться картой. Взгляните на географическую карту, вся она расчерчена линиями, идущими с севера на юг и с запада на восток. Используя их можно определить расположение любого объекта. Например, "Киевский вокзал - квадрат Е3".
Черепаший мир - это экран дисплея, и Вы можете указать любую точку на нем. Если Вы нарисуете горизонтальную и вертикальную линии через центр экрана, позицию черепашки можно будет выразить относительно этих линий.
Горизонтальная линия называется "ось X", а вертикальная - "ось Y". Позиция любой точки экрана выражается в форме [X Y]. Начальная точка имеет координаты [0 0].
Перемещение в точку
Вы можете переместить черепашку в нужную точку экрана с помощью команды SETPOS, которая имеет форму:
SETPOS [X Y]
Например для перемещения в точку [150 100] надо ввести команду:
SETPOS [150 100]
Есть другой способ перемещения черепашки в нужную точку (естественно кроме команд RIGHT и FORWARD). Введите следующие команды и посмотрите, что получится:
DRAW SETX 150 SETY 100
Теперь попробуйте переместить черепашку в другую точку. Можно задавать и отрицательные координаты.
Если Вы хотите повернуть черепашку в заданном направлении, надо воспользоваться командой SETH (SET Heading). Например:
SETH 180
Определение места
Вы можете не только задавать местополжение черепашки, но и опрделять его, используя команды POS, XPOS и YPOS.
Переместите черепашку какую нибудь точку и, введя следующие команды, посмотрите что получится:
PRINT POS PRINT XPOS PRINT YPOS
Первая команда печатает обе координты черепашки, вторая - X-координату, а третья - Y-координату. Поперемещайте черепашку и посмотрите, как меняются ее координаты.
Теперь взгляните на процедуру рисования окружности:
TO CIRCLE REPEAT 360 [FD 5 LT 1] END
Добавьте команду, которая будет печатать координаты черепашки после каждого перемещения:
TO CIRCLE REPEAT 360 [FD 5 LT 1 PRINT POS] END
Теперь запустите процедуру:
SETX 300 CIRCLE
Резюме
Положение черепашки может быть представленно в виде координат [X Y], причем начальное положение черепашки имеет коородинаты [0 0]. Вы можете перемещать черепашку в заданную точку экрана и задавать ее поворот относительно "севера" с помощью команд:
1. SETX перемещает черепашку в горизонтальном направлении, например:
SETX 200
2. SETY перемещает черепашку в вертикальном направлении, например:
SETY 150
3. SETPOS перемещает черепашку в заданную точку, например:
SETPOS [200 -150]
4. SETH задает направление движения черепашки, например:
SETH 90
Вы можете определять местоположение черепашки с помощью команд:
1. XPOS возвращает X-координату
2. YPOS возвращает Y-координату
3. POS возвращает X и Y-координаты.
.сс
14 Игра словами
______________________________________________________________
ЛОГО - один из многих языков программирования, созданных для облегчения Вашего общения с компьютером. Большинство языков программирования (например BASIC и FORTRAN) проектировались для работы с числами. Такие языки иногда называют "перемалыватели чисел".
Их слабость проявляется при попытке обработки слов.
ЛОГО относится к другой группе языков, обладающей широкими возможностями манипулирования словами. Однако, это не означает отсутствия вычислительной мощности, как Вы могли убедиться.
Как ЛОГО оперирует со словами?
Компьютер не может понимать слова также как люди. Если ввести, например, "нарисовать домик", и нажать ВВОД, компьютер не "поймет", что Вы от него хотите.
Это произошло потому, что он не знает, что такое "домик", и что значит "нарисовать".
Когда мы используем слова в повседневном общении мы группируем их в предложения. Мы также используем специальные слова, типа "и", "или", "но", и специальные символы типа "точка", "запятая" чтобы установить связи между словами внутри предложений. Для использования слов компьютером используются эти-же идеи. Нам понадобится две идие: путь группирования слов вместе и правила, по которым однозначно определяется роль каждого слова внутри группы.
В ЛОГО слова группируются в конструкции, называемые "списки".
Вот типичный список ЛОГО:
[собака маленькая черная]
Заметьте, что список ограничен квадратными скобками, а слова внутри списка разделены пробелами. Компьютер, естественно, не знает, что означает каждое слово. Для него каждое слово, это набор символов. С этой точки зрения, любой бессмысленный набор символов типа "йцукенг" или "апролд" считаются словами.
Иногда списки выглядят законченными предложениями! Например:
[эта собака маленькая и черная]
Для ЛОГО это просто другой список.
Ранее было сказано, что символы, задающие роль слов и их отношения между собой, могут облегчить компьютеру обработку словесной информации. Давайте поближе ознакомимся с использованием квадратных скобок в ЛОГО.
Взгляните на следующий пример. Это описание дома:
MAKE "дом1 [гостинная кухня лестница ванная спальня]
А вот другое описание дома:
MAKE "дом2 [[гостинная кухня] лестница [ванная спальня]]
Во втором примере, два меньших списка представляют первый и второй этажи дома. Это "списки внутри списка". Компьютер знает об их присутствии благодаря дополнительным квадратным скобкам.
Как извлечь слово из списка
Возможно Вы уже задали себе вопрос, как извлечь слово из созданного Вами списка. Было бы невероятно, если бы ЛОГО не предоставляло такой возможности. Для этих целей имеется ряд команд:
FIRST Возвращает первый элемент списка BUTFIRST(BF) Возвращает все элементы кроме первого LAST Возвращает последний элемент списка BUTLAST(BL) Возвращает все элементы кроме последнего
Посмотрите, как работают эти команды. Для этого введите описание дома:
MAKE "дом1 [гостинная кухня лестница ванная спальня]
Теперь введите:
PRINT FIRST :дом1
Вы должны получить ответ:
гостинная
Введите также:
PRINT LAST :дом1 PRINT BUTFIRST :дом1 PRINT BUTLAST :дом1
и наконец:
PRINT :дом1
Это должно напечатать все элементы дома.
Как извлечь меньший список из большего
Теперь Вы должны увернно обращаться с командами FIRST, BUTFIRST, LAST и BUTLAST при извлечении слов из списков.
Теперь пропробуйте применить те же самые четыре команды ко второму описанию дома:
MAKE "дом2 [[гостинная кухня] лестница [ванная спальня]]
На этот раз Вы должны увидеть, что "списки внтури списка" обрабатываются как отдельные слова в предыдущем примере. Например:
PRINT FIRST :дом2
дает ответ
гостинная кухня
- описание первого этажа!
Попробуйте вывести описание второго этажа самостоятельно.
Для получения элемента, находящегося между первым и вторым этажами введите:
PRINT FIRST BUTFIRST :дом2
Выполнение этой строки ЛОГО проводит в два этапа:
1. Отсечение первого элемента списка командой BUTFIRST;
2. Выделение первого элемента из остатка.
Объединение списков
В процессе создания более сложного описания такого объекта как дом Вам может понадобится объединить несколько списков в виде дерева:
ДОМ | +-------------------+-------------------+ | | | КУХНЯ ВАННАЯ СПАЛЬНЯ | | | +------+-----+ | +--------+--------+ | | | | | | | МОЙКА ПЛИТА СТОЛ | КРОВАТЬ ТУМБОЧКА НОЧНИК | +-------+----------+ | | | ВАННА РАКОВИНА СМЕСИТЕЛЬ
Вы можете сделать это объеденив списки различных комнат:
MAKE "ку [кухня [мойка плита стол]] MAKE "ва [ванная [ванна раковина смеситель]] MAKE "сп [спальня [кровать тумбочка ночник]]
Теперь объединим их под одной крышей! Это делается командой LIST:
MAKE "дом (LIST :ку :ва :сп)
Исследуйте содержимое переменной "дом" командами FIRST, BUTFIRST, LAST и BUTLAST. И попробуйте построить более сложный объект.
Слова тоже могут быть списками!
Теперь Вы знаете, что ЛОГО может оперировать со списками слов и даже со списками списков. Однако и сами слова являются списками. Это становится очевидным, если применить команды типа FIRST к отдельым словам.
Например, введите:
PRINT "телефон PRINT FIRST "телефон PRINT BUTLAST BUTLAST BUTLAST BUTLAST "телефон PRINT BUTFIRST "телефон
Вы можете соединять слова командой WORD:
PRINT WORD "семьдесят "восемь
Пишем задом-наперед
В это разделе Вы научитесь создавать более сложные процедуры оперирующие со списками из имеющихся примитивов.
Давайте попробуем написать процедуру REVERSE, которая будет делать следующее:
PRINT REVERSE "телефон
нофелет
PRINT REVERSE "паровоз
зоворап
Сначала печатается последняя буква слова, затем предпоследняя и т.д. Для реализации процедуры воспользуемся рекурсией:
TO REVERSE :TEXT OUTPUT WORD (LAST :TEXT) (REVERSE BUTLAST :TEXT) END
Команда OUTPUT(OP) возвращает результат вызывающей процедуре.
Если Вы запустите процедуру она не будет работать, т.к. внутри REVERSE нет признака выхода из рекурсии.
Вам нужно остановить рекурсию, когда слово будет исчерпано, т.е. будет "пустым". Вы можете сделать это поместив следующую команду в первую строку процедуры:
IF :TEXT =" [OUTPUT "]
Знак кавычек используется для обозначения пустого слова.
Теперь Вы можете использовать процедуру REVERSE для опрделения палиндромов - слов которые одинаково читаются в прямом и обратном направлениях:
TO PALINDROME :TEXT IF :TEXT =REVERSE :TEXT [OUTPUT "TRUE] OUTPUT "FALSE END PRINT PALINDROME "KAYAK TRUE PRINT PALINDROME "KAY FALSE
Резюме
1. Группы символов называются "слова".
2. Слова, разделенные пробелами и заключенные в квадратные скобки называются "списки", например:
[ЭТО СПИСОК]
3. Слова могут объединятся командой WORD или разбиваться командами FIRST, LAST BUTFIRST(BF) и BUTLAST(BL). Например:
PRINT WORD "семьдесят "восемь
семьдесятвосемь
PRINT FIRST "МОСКВА
М
4. Списки могут объединятся для создания более сложных конструкций с помощью команды LIST или могут разбиваться командами FIRST, LAST, BUTFIRST и BUTLAST. Например:
LIST [[ОТТАВА ЛОНДОН] [ОСЛО ХАРАРЕ ВАШИНГТОН]]
возвращает
[[ОТТАВА ЛОНДОН] [ОСЛО ХАРАРЕ ВАШИНГТОН]]
PRINT FIRST [кошки так милы]
кошки
5. Слово, не содержащее ни одного символа называется "пустое слово". Оно обозначатется отдельным занком "кавычки".
6. Список, не содержащий ни одного слова называется "пустой список". Он обозначается [].
7. Команда OUTPUT(OP) возвращает из процедуры какое либо значение.
.сс
15 Создание интерактивных процедур
______________________________________________________________
"Интерактивные" процедуры реагируют на внешние воздействия (нажатия клавиш или повороты ручек пультов).
В этой главе объясняется, как писать интерактивные процедуры. Это позволит Вам управлять черепашкой только с помощью пяти клавиш; Такая процедура может быть использована для показа малышам черепашки за работой.
Чтение символов с клавиатуры
Вы можете читать нажатые символы с клавиатуры используя команду RC (Read Character). Взгляните на следующий пример:
TO INPUT MAKE "LETTER RC IF :LETTER = " [STOP] PRINT :LETTER INPUT END INPUT JCUKENG
Эта процедура помещает нажатый символ в переменную LETTER и печатает его если он не " ". Когда вводится символ " " выполнение процедуры завершается.
Теперь займемся следующими процедурами. Они позволяют управлять черепашкой с помощью пяти клавиш:
TO TURTLEMOVE GETKEY TURTLEMOVE END TO GETKEY MAKE "KEY RC IF :KEY = "F [FORWARD 10] IF :KEY = "L [LEFT 15] IF :KEY = "R [RIGHT 15] IF :KEY = "B [BACK 20] IF :KEY = "D [DRAW] CI END
CI (Clear Input) - очередная команда ЛОГО. Она просто заставляет ЛОГО забыть все клавиши, которые были нажаты до этого.
Вы также можете использовать другие клавиши для рисования различных фигур. Например К для рисования квадрата или Т для рисования треугольника.
Улучшение процедур
RC останавливает выполнение процедуры и ждет, пока не будет нажата клавиша. Это неприемлемо для динамических игр.
ЛОГО предоставляет команду, которая позволяет выполнять процедуру, пока не будет нажата какая либо клавиша. Это комнда KEYQ. Она возвращает значение "TRUE, если клавиша нажата и "FALSE в противном случае. Если клавиша была нажата, Вы можете опрделить ее значение командой RC.
Тепрь Ваша процедура примет следующий вид:
TO TURTLEMOVE FORWARD 10 IF KEYQ [GETKEY] TURTLEMOVE END TO GETKEY MAKE "KEY RC IF :KEY = "L [LEFT 15] IF :KEY = "R [RIGHT 15] IF :KEY = "B [BACK 20] IF :KEY = "D [DRAW] CI END
Резюме
1. Интерактивные процедуры позволяют управлять выполнением процедур.
2. Ваши процедуры могут читать нажатые клавиши командой RC (Read Character).
3. CI (Clear Input) очищает буфер нажатых клавиш
4. KEYQ может быть использована в динамичных программах. Она возвращает значение "TRUE, если была нажата любая клавиша и "FALSE в противном случае. Если возвращено значение "TRUE определить нажатую клавишу можно командой RC.
.сс
Приложение А
______________________________________________________________
Редактирование командных строк
Кроме клавиши УДАЛИТЬ ("точка" на функциональной клавиатуре), которая позволяет исправлять ошибки, имеется еще пять клавиш, которые используются при редактировании или изменении строк программы, отображаемых на экране. Клавиши со стрелками позволяют перемещать мигающий курсор по экрану. Как только Вы нажмете любую из этих клавиш, компьютер перейдет в "режим редактирования" и на экране будет два курсора. Немигающий курсор называется "пищущий" и показывает, где будет напечатан очередной вводимый символ. Другой, мигающий курсор, называется "читающий" и может перемещаться стрелками по экрану.
Если Вы подведете читающий курсор к какому нибудь символу и нажмете клавишу КОПИЯ ("равно" на функциональной клавиатуре), этот сивол поместится в вводимую строку на месте пишущего курсора. Скопировав нужное слово из одной строки Вы можете переместить курсор к другой строке и скопировать очередное слово. Вы можете использовать УДАЛИТь для удаления случайно скопированных символов или можете набирать символы с клавиатуры. Когда вводимая строка сформирована нажмите клавишу ВВОД.
.сс
Приложение Б
______________________________________________________________
Редактирование процедур
Вы можете вызвать редактор ЛОГО командой EDIT, за которой указывается имя редактируемой процедуры, например:
EDIT "VEE
Вы можете всегда выйти из редактора оставив процедуру неизмененной. Для этого надо нажать РЕД. Чтобы запомнить измененную процедуру надо нажать клавишу КОПИЯ.
Вы можете перемещать курсор по процедуре с помощью клавиш со стрелками. Следующая таблица показывает действие различных клавиш:
Действие Клавиши
Перемещение курсора влево ВЛЕВО' Перемещение курсора вправо ВПРАВО' Перемещение курсора вверх ВВЕРХ' Перемещение курсора вниз ВНИЗ' Перемещение курсора в начало ВЛЕВО'' строки Перемещение курсора в конец ВПРАВО'' строки Перемещение курсора в начало ВВЕРХ'' процедуры Перемещение курсора в конец ВНИЗ'' процедуры Вставка строки ВВОД Удаление символа УДАЛИТЬ Удаление до конца строки УПР+Л Выход из редактора без РЕД запоминания изменений Выход из редактора с КОПИЯ запоминанием измененной процедуры
* Примечание: В ОС ОНИКС функциональная клавиатура может находится в одном из трех режимов. Выбор режима осуществляется нажатием клавиш F1, F2 и F3 в нижней части функциональной клавиатуры. Если, например, в тексте встречается фраза "нажать ВПРАВО''", это обозначает: "выбрать второй режим путем нажатия F2, а затем нажать клавишу ВПРАВО".
.сс
Приложение В
______________________________________________________________
Использование цветов
Вы можете изменять цвета карандаша и фона с помощью команд SETPC и SETBG. Количество цветов зависит от "номера экрана".
В Агат-9 доступно шесть экранов, но только четыре являются графическими:
--------------------------------------------------------------- Режим Описание --------------------------------------------------------------- 0 Использует два цвета с высоким графическим разрешением. Занимает 16 Кбайт памяти. 1 Использует четыре цвета со средним графическим разрешением. Занимает 16 Кбайт памяти. 2 Использует шестнадцать цветов с низким графическим разрешением. Занимает 8 Кбайт памяти. 4 Использует два цвета со средним графическим разрешением. Занимает 8 Кбайт памяти ---------------------------------------------------------------
При запуске ЛОГО устанавливается четвертый режим. Вы можете изменить экранный режим командой SETMODE. Например:
SETMODE 1 SETBG 1 SETPC 2 SETNIB 80 REPEAT 4 [FORWARD 100 LEFT 90]
Вы должны получить красный квадрат на зеленом фоне. Команда SETBG выбирает цвет экрана, а SETPC - цвет рисования. Цвета, соответствующие номерам в разных экранных режимах приведены в таблице:
.сс
--------------------------------------------------------------- Номера цветов | -------------------------+ Название цвета Режим Режим Режим Режим | 0 1 2 3 | -------------------------+------------------------------------- 0 0 0 0 Черный 1 1 Красный 2 2 Зеленый 3 Желтый 3 4 Синий 5 Фиолетовый 6 Голубой 1 7 1 Белый 8 Черный 9 Темнокрасный 10 Темнозеленый 11 Темножелтый 12 Темносиний 13 Темнофиолетовый 14 Темноголубой 15 Серый
.сс
Приложение Г
______________________________________________________________
Примитивы ЛОГО
Ниже приводится список команд ЛОГО использованных в данном руководстве:
--------------------------------------------------------------- Команда Действие --------------------------------------------------------------- BACK(BK) <n> Перемещение черепашки на <n> шагов назад. BUTFIRST(BF) Возвращает все элементы <объект>а кроме <объект> первого. BUTLAST(BL) <объект> Возвращает все элементы <объект>а кроме последнего. CI Очищает буфер клавиатуры. CLEAN Очищает экран без перемещения черепашки. CONTINUE(CO) Продолжение выполнения процедуры после PAUSE. DOFOREVER <список> Бесконечное выполнение списка, если не встретится команда STOP DRAW Очищает экран, уничтожает всех черепашек кроме исходной, устанавливает WRAP режим, перемещает черепашку в [0 0], устанавливает нулевой угол поворота, иницализирует карандаш. EDIT(ED) <имя> Вызывает редактор ЛОГО и загружает процедуру <имя> в буфер редактора. Если <имя> отсутствует, отображает буфер редактора или ничего, если буфер был очищен. ERASE <процедура> Уничтожает указанную процедуру. ERPS Уничтожает все процедуры. FENCE Устанавливает "загородку" по периметру экрана. FIRST <объект> Возвращает первый элемент <объект>а. FORWARD(FD) <n> Перемещает черепашку вперед на <n> шагов. HATCH <черепашки> Создание черепашки или черепашек. HIDETURTLE(HT) Делает черепашку невидимой. HOME Перемещает черепашку в точку [0 0] и устанавливает нулевой угол поворота. IF <выражение> Если <выражение> истинно (TRUE) выполняет <список> <список>. KEYQ Возвращает TRUE, если была нажата клавиша и FALSE в противном случае. LAST <объект> Возвращает последний элемент <объект>а. LEFT(LT) <угол> Поворачивает черепашку на <угол> градусов влево (против часовой стрелки). LIST <объект1> Возвращает список, состоящий из элементов <объект2> <объект1> и <объект2>. LOAD <имя> Загружает файл <имя> в рабочую память. MAKE "<имя> Присваивает перемнной <имя> значение <объект> <объект>а. OUTPUT(OP) <объект> Передает управление вызвавшей процедуре и возвращает <объект>, как результат выполнения процедуры. PAUSE Приостанавливает выполнение процедуры. PE Опускает "стирашку". PENDOWN(PD) Опускает карандаш. PENUP(PU) Подымает карандаш. POPS Печатает описания всех процедур в рабочей памяти. POS Возвращает координаты черепашки как список [X Y]. POTS Печатает заголовки всех процедур в рабочей памяти. PRINT(PR) <объект> Печатает <объект> в текстовом окне. PO <процедура> Печатает определение <процедур>ы. READPICT <имя> Чтение картинки из файла <имя>. RANDOM <число> Возвращает случайное, положительное число меньше чем <число> RC Возвращает нажатую клавишу. REPEAT <n> <список> Выполняет <список> <n> раз. RIGHT(RT) <угол> Поворачивает черепашку на <угол> градусов вправо (по часовой стрелке). SAVE <имя> Сохраняет процедуры из рабочей памяти в файле <имя>. SAVEPICT <имя> Сохраняет картинку в файле <имя>. SETBG <n> Устанавливает <n>-й цвет фона. SETHEADING(SETH) Устанавливает угол поворота черепашки. <угол> SETMODE <n> Устанавливает <n>-й режим экрана. SETNIB <n> Выбирает тип карандаша. SETPC <n> Устанавливает <n>-й цвет карандаша. SETPOS <поз.> Перемещает черепашку в точку <поз.>, где <поз.> - список типа [X Y]. SETSH <объект> Переопределение формы черепашки. SETX <Xпоз.> Перемещение черепашки по горизонтали. SETY <Yпоз.> Перемщение черепашки по вертикали. SHOWTURTLE(ST) Делает черепашку видимой. STOP Останавливает выполнение процедуры. TELL <черепашки> Выбор черепашки или черепашек. TO <имя> <вход> Начало описания процедуры. TOWARDS <поз.> Поворачивает черепашку в направлении <поз.>, где <поз.> - список [X Y]. TS Включает текстовый экран. WINDOW Включение режима "ОКНО". WORD <слово1> Возвращает слово состоящее из обединения <слово2> <слово1> и <слово2>. WRAP Включение режима "WRAP". XPOS Возвращает X-координату черепашки. YPOS Возвращает Y-координату черепашки.[an error occurred while processing this directive]