Витуальная Пустынь
\"Pustyn\"

LogoWriter

LogoWriter- записки на полях БукиБуки

Руководство по работе в системе LOGOWriter.

См. притчи о Дядюшке Логорайтере ;}

Введение.

Имея дело с LOGOWriter`ом, Вы будете работать в режиме CGA.

LOGOWriter закрытая система, и все программы, написанные в

нем, будут доступны только в его среде. Для работы

понадобятся файлы: logowr.com, содержащий собственно систему,

и ?.shp, содержащий библиотеку форм черепашки. Система

LOGOWriter работает со страницами. Каждая страница

записывается в файл, имя которого имеет вид *.lwr.

Параграф 1.

Страница.

Любая страница имеет:

а. FRONT side - лицевую сторону размером , на которой

выполняются рисунки, выводится текст и т.д.

b. FLIP side - обратную сторону, на которой описываются

процедуры. Переход с FRONT на FLIP и обратно осуществляется

при помощи ключа STRG-F (из программы командой - flip).

Все страницы имеют:

с. СС - командный центр, место в нижней части экрана,

отделенное горизонтальной чертой. Из СС вводятся команды,

которые должны быть сразу выполнены. В СС выводятся сообщения

об ошибках. Переход из СС на верхнюю часть страницы

выполняется при помощи ключа STRG-U (назад STRG-D).

Параграф 2.

Работа со страницами.

Запустив LOGOWriter, вы попадаете в каталог страниц

(contents). Двигаться по нему можно при помощи стрелок.

а. Войти в страницу можно, установив курсор на ее имя в

каталоге и нажав ключ ENTER.

b. Стереть страницу можно, установив курсор на ее имя в

каталоге и нажав ключ F-6.

с. Завести новую страницу можно, установив курсор на NEW PAGE

в каталоге и нажав ENTER. Войдя в страницу, дайте ей имя.

np "NAME - дать странице имя NAME

newpage - сохранить текущую страницу и вывести на экран

новую

erpage "NAME - стереть с диска страницу c именем NAME

contents - сохранить текущую страницу и выдать на экран

каталог

front? - выдает TRUE, если текущая сторона FRONT, иначе

FALSE getpage "NAME - cохранить текущую страницу и вывести

на экран страницу с именем NAME

pagelist - выдать список страниц

Параграф 3.

Графика.

LOGOWriter работает с черепашьей графикой, то есть имеет

черепашек, которые, двигаясь по экрану, оставляют следы.

Команды:

а. движение черепашки

bk x - пройти назад х шагов

fd x - пройти вперед х шагов

lt x - повернуть влево на х градусов

rt x - повернуть вправо на х градусов

b. режимы черепашки

ht - cпрятать черепашку

st - показать черепашку

pd - опустить карандаш

pu - поднять карандаш

pe - опустить стерку

px - опустить карандаш "наоборот"

с. формы черепашки

shapes - вызвать коллекцию форм

ключ ESC - вернуться в рабочую страницу

setsh х - установить черепашке форму с номером х

stamp - приклеить форму туда, где стоит черепашка (карандаш

должен быть опущен)

d. цвет

fill - заполнить контур цветом черепашки (черепашка должна

находиться внутри контура, не на линии, с опущенным

карандашом)

setbg x - установить цвет фона, где х - номер цвета (см

приложение 7)

setc x - установить цвет черепашки, где х - номер цвета (см

приложение 6)

shade - орнамент формой и цветом черепашки (черепашка

должна стоять внутри контура, не на линии, с опущенным

карандашом, контур должен иметь не слишком много сторон)

е. установка черепашки

setpos [x y] - установить черепашку в точку с координатами

х у

seth x - установить черепашку в направлении х градусов по

часовой стрелки от направления вверх

f. общие команды

сс - стереть команды в СС

cg - стереть рисунок

rg - перезагрузить графику

home - отправить всех черепашек на исходные позиции

Репортеры:

а. цвет

bg - выдает номер цвета фона

соlor - выдает номер увета черепашки

colorunder - выдает номер цвета под черепашкой

b. установка

heading - выдает направление черепашки

pos - выдает список координат черепашки

с. формы

shape - выдает номер формы черепашки

Параграф 4.

Несколько черепашек.

LOGOWriter имеет четырех черепашек, с номерами 0, 1, 2, 3.

Обычно на экране видна одна черепашка - нулевая. Она же по

умолчанию, активна (воспринимает команды). Остальные

черепашки не видны и не активны.

tell [...] - активизация черепашек, перечисленных в списке

(дальнейшие команды воспринимают все активные черепашки)

ask x [..] - черепашке под номером х выполнить

последовательность действий из списка

each [..] - всем активным черепашкам по очереди выполнить

последовательность действий из списка

all - выдает список всех черепашек [0 1 2 3]

who - выдает список активных черепашек

Параграф 5.

Управляющие конструкции.

repeat x [...] - цикл (выполнить х раз последовательность

действий из списка)

wait x - ждать х промежутков времени, каждый в 1/20 сек

if x [...] - если удовлетворено условие х, выполнить

последовательность действий из скобок

ifelse x [...][...] - если удовлетворено условие х,

выполнить последовательность действий из первых скобок, если

нет - из вторых

run [...] - выполнить последовательность действий из списка

when x [...] - ждать нажатия контрольного ключа х, затем

выполнить последовательность действий из списка; контрольными

ключами могут быть: N O P Q R V W X Y Z

clearevents - отменить контрольные ключи

ascii х - выдает код ASCII символа х

char x - выдает символ, код которого в ASCII равен х

key? - выдает TRUE(истина), если была нажата клавиша, иначе

- FALSE (ложь)

3

Параграф 6.

Ввод.

readchar - ждет ввода символа, затем выдает его (при вводе

символ не печатается)

readlist - ждет ввода строки на странице, затем выдает ее

как список (конец строки -ENTER)

readlistcc - ждет ввода строки в СС, выдает ее как список

Параграф 7.

Переменные.

Значением переменной в LOGOWriter могут быть число, слово,

список.

"x - имя переменной

:x - значение переменной

name x "y - присвоить значение х переменной с именем у

make "x y - присвоить переменной с именем х значение у

name "x - выдает TRUE, если х - имя переменной, иначе -

FALSE

clearname "x - стереть переменную с именем х из памяти

clearnames - cтереть все переменные из памяти

printnames - печатать все переменные со значениями со

страницы

shownames - печатать все переменные со значениями в СС

thing "x - выдает значение переменной х

Параграф 8.

Арифметика и логика.

а. арифметика

х * у - х умножить на у

х + у - к х прибавить у

х - у - из х вычесть у

х / у - х разделить на у

х = у - х равно у, где х и у - числа

х > у - х больше у

х < у - х меньше у

sin x - выдает синус х, х в градусах

cos x - выдает косинус х, х в градусах

number? х - выдает TRUE, если х число, иначе - FALSE

random x - выдает случайное число меньше х

reminder x y - выдает остаток от деления х на у

b. логика

and x y - логическое и

or x y - логическое или

not x - логическая инверсия

TRUE - логическая константа "истина"

FALSE - логическая константа "ложь"

Параграф 9.

Процедуры.

Процедуры записываются на обратной (FLIPSIDE) стороне

страницы и сохраняются вместе с ней. Когда процедура

записана, то в пределах этой страницы можно обращаться к ней,

как к команде. Записанная на FLIPSIDE процедура выглядит так:

to x

...

end

где х - имя процедуры, между to x и end заключена

последовательность действий (которая может включать и другие

процедуры).

а. процедуры со вводом

to x :y :y

...

end

где :y и :z - значения переменных, к которым есть обращение

внутри процедуры

b. прерывание

stop - прервать текущую процедуру и вернуться во внешнюю

stopall - прервать текущую процедуру и все, в которые она

вложена

с. вывод

op х - (только внутри процедуры) по выполнении процедуры

выдать значение х

d. инструментальные процедуры

gettools "x - сделать доступными процедуры со страницы с

именем х

toollist - выдает список доступных процедур с других

страниц

cleartools - отменить gettools

load "x - подгрузить FLIPSIDE страницы с именем х на

FLIPSIDE текущей страницы

Параграф 10.

Работа с текстом.

Текст набирается на FRONTSIDE страницы обычным образом

(переход на новую строку - ENTER, удаление последнего символа

- BACKSPACE, движение по напечатанному - стрелками и т. д.).

а. команды текстовому курсору

cb - влево

cd - вниз

cf - вправо

cu - вверх

eol - в конец строки

sol - в начало строки

bottom - встать в конец строки

top - встать в начало текста

tab - передвинуть курсор на 5 позиций

delete - удалить символ под курсором

b. репортеры текстового курсора

charunder - выдает символ под курсором

cursorpos - выдает позицию курсора в черепашкиных координатах

textpos - выдает позицию курсора (порядковый номер символа на

странице)

textlen - выдает длину набранного текста

selected - выдает выбранный текст

c. вывод текста командами

insert x - вставить x на FrontSide с позиции текстового

курсора, не переходя на новую строку, где x - слово или

список

pr [...] - вставить текст из скобок на FrontSide, начиная с

позиции курсора, перейти на следующую строку

show [...] - показывает список в СС

d. возможности работы с текстом

replace [...] [...] - в тексте, набранном на FrontSide ниже

позиции курсора, заменить фрагмент, содержащийся в первом

списке на фрагмент второго списка

select - выбрать текст

unselect - отменить выбор текста

cut - удалить выбранный текст (поместить в буфер)

copy - запомнить выбранный текст (поместить в буфер)

past - вставить содержимое буфера

clipboard - выдает содержимое буфера

parse - трансформировать содержимое буфера в список

ct - стереть текст

found ? - используется после search или replace; выдает

TRUE, если фрагмент найден, иначе - FALSE

search x - найти и выбрать первый вход слова x в текст,

набранный на странице ниже позиции курсора (для поиска только

слова, а не цепочки символов, search \ x)

prescreen - вывести предыдущий экран

nextscreen - вывести следующий экран

Параграф 11.

Работа со списками и словами.

LOGOWriter работает со словами (последовательность символов),

перед словом ставятся кавычки " и со списками (слова,

заключенные в скобки [ ])

a. операции со списками

se x y - выдает список [x1 y1], где x и x1 совпадают, если

это слово, если ввод - список, то берется его содержимое.

bf x - выдает все кроме первого элемента x, где x - слово или

список

bl x - выдает все кроме последнего элемента x, где x - слово

или список

count x - выдает число элементов в x, где x - слово или

список

empty ? x - выдает TRUE, если x пуст, иначе FALSE, где x

слово или список

equal? x y - выдает TRUE, если x и y равны (здесь "А равно

"а), где x и y - слова или списки

first x - выдает первый элемент x, где x слово или список

last x - выдает последний элемент x, где x - слово или список

fput x y - сделать x первым элементом y, где x - слово или

список, y - список

lput x y - сделать x последним элементом y, где x - слово или

список, y - список

identical? x y - выдает TRUE, если x и y - числа, слова или

списки

item x y - выдает x-овый элемент y, где x - число, y - слово

или список

list x y - объединяет x и y в список, где x и y - слова или

списки

list? x - выдает TRUE, если x - список, иначе FALSE, где x и

y - слова или списки

member? x y - выдает TRUE, если x - элемент y, иначе FALSE,

где x и y - слова или списки.

word x y - выдает слово, составленное из x и y, где x и y -

слова.

word? x - выдает TRUE, если x - слово; иначе FALSE, где x -

слово или список.

Параграф 12.

Печать.

Print screen - напечатать все, что видно на FRONT стороне

страницы

Print text - напечатать весь текст на текущей стороне

страницы (включая предыдущий экран, следующий и т.д.)

Print text80 - напечатать весь текст в режиме 80

Параграф 13.

Прочее.

setdisk - устанавливает букву, отмечающую носитель

disk - выдает букву, отмечающую носитель

dos - выход в dos

Приложения.

Приложение 1.

Особые режимы.

a. Режим отметок.

Вход в режим осуществляется при помощи ключа F-8 или командой

label (в этом случае курсор встает на место черепашки). Выход

ESC. В режиме отметки появляется дополнительный курсор

(голубой), который двигается пл экрану стрелками. На месте

курсора можно с клавиатуры набирать буквы. Для того, чтобы

стереть набранный символ, нужно подвести курсор и напечатать

этот же символ повторно. Набранное в режиме отметок

уничтожается при стирании графики.

b. Режим движущейся черепашки.

Вход в режим осуществляется при помощи ключа F-9. Выход ESC.

В режиме черепашку можно перемещать по экрану при помощи

стрелок (при этом она не оставляет следа).

Приложение 2.

Специальные страницы.

a. Shapes - эта страница представляет собой коллекцию форм,

которые может принимать черепашка. Для того, чтобы можно было

их назвать, они пронумерованы. Исходная форма черепашки не

показана, но имеет номер 0. Формы можно редактировать. Для

этого следует перейти на Flip сторону страницы. Менять

доступную форму на следующую (предыдущую) можно нажатием PG

UP (PG ON). Запомнить текущую форму F-3. Установить

запомненную форму на место текущей F-4. Удалить форму F-2.

Для того, чтобы редактировать форму, следует двигаться по ней

при помощи стрелок, пробелом вставляя на пустом (удаляя на

запомненном) месте точки. Коллекцию форм можно досмотреть с

любой страницы командой - shapes. Вернуться назад ESC.

Приложение 3.

Уроки.

a. Урок 2 - по простейшим командам, типа fd, rt

b. Урок 3 - по использованию цвета

c. Урок 4 - по употреблению циклов

Приложение 4.

Инструменты.

Страницы, имена которых оканчиваются на tool содержат некие

процедуры. Процедуры эти могут быть использованы в любой

странице, если предварительно подгрузить их командой -

gettols "x, где x - имя нужной страницы.

a. TURTTOOL - средства, дополняющие графику

1) Медленная черепашка

sfd X - вперед X шагов

sbk X - назад X шагов

srt X - вправо на X градусов

slt X - влево на X градусов

2) Круги

circler X - круг направо с радиусом X

circler X - круг налево с радиусом X

3) Дуги

arcr X Y - дуга направо, где X - радиус, Y - размер в

градусах

arcl X Y - дуга налево, где X - радиус, Y - размер в

градусах

b. MATHTOOL - средства для вычислений

divisor? X Y - выдает TRUE, если Y делится без остатка

на X, иначе FALSE

factorial X - факториал X (X до 14 включительно)

abs X - выдает абсолютное значение X

round X - выдает целое число ближайшее к X

int X - выдает целую часть от X

sqrt X - выдает квадратный корень из X

c. WORDTOOL - средства для работы со словами

preword - команда текстовому курсору встать в начало

предыдущего слова

nextword - встать в начало следующего слова

d. FORMTOOL - средства для форматирования текста перед

печатью

formattext X Y - команда форматирования для печати, где

X - число колонок, а Y - ширина левого края

e. DRAWTOOL - средства для рисования

draw - вход в режим рисования (черепашка рисует,

управляясь стрелками, меняет цвет при нажатии 0 1 2 3,

опускает стерку - E, поднимает карандаш - U, опускает - D.

выход по ESC).

f. ABCTOOL - средства для вывода русских букв

Буквы рисует черепашка -buk X Y - вход в режим печати. Буквы

расположены как в RWORD (исключения: пробел - 1

запятая - 3

X - /

выход - пробел)

Приложение 5.

Управляющие ключи.

CTRL-F - flip ключ, переворачивает страницу с FlipSide на

FrontSide и обратно

CTRL-U - up ключ, активизирует курсор на странице для набора

текста (на FrontSide) или процедур (на FlipSide)

CTRL-D - down ключ, активизирует курсор в коммандном центре

ESC - выход из страницы или специального режима (help,

отметок, движущейся черепашки)

CTRL-PAUSE - stop ключ, останавливает текущие действия,

возвращает в CC

F-10 - help ключ, выдает help

F-9 - вход в режим движущейся черепашки

F-8 - вход в режим отметок

F-1 - выбор текста

F-2 - удалить текст

F-3 - скопировать текст

F-4 - вставить выбранный или скопированный текст

F-6 - удаление до конца строки

PG UP - предыдущий экран

PG ON - следующий экран

POS1 - в начало страницы

POS2 - в конец страницы

Приложение 6.

Цвет черепашки.

0 без цвета

1 голубой

2 фиолетовый

3 белый

Приложение 7.

Цвета фона.

0 черный

1 синий

2 зеленый

3 голубой

4 красный

5 фиолетовый

6 коричневый

7 белый

8 серый

9 светло-синий

10 светло-зеленый

11 светло-голубой

12 светло-красный

13 светло-фиолетовый

14 желтый

15 ярко-белый

Приложение 8.

Пределы координат.

Склейка экрана по сфере.

Координаты: по горизонтали от -155 до 155, по вертикали от 90

до 90.

Приложение 9.

Музыка.

tone x y - задает звук, где x - частота, y - длительность в

1/20 сек

tone? - выдает TRUE, если нота звучит или записана слева в

буфер, если буфер пуст, выдает FALSE

ноты частота по октавам

си 123 247 494 988

ля# 117 233 466 932

ля 110 220 440 880

соль# 104 208 415 830

соль 98 196 392 784

фа# 92 185 370 740

фа 87 175 349 698

ми 82 165 330 659

ре# 78 156 311 622

ре 73 147 294 587

до# 69 139 277 554

до 65 131 262 523

Частота изменяется в пределах 30 - 9999

IATP
Библиотека Виртуальной Пустыни в 2003 году является частью сетевого проекта "Нижегородские ресурсы коллективного авторства" и развивается при финансовой поддержке Управления образовательных и культурных программ Государственного Департамента США в рамках Программы "Обучение и доступ к Интернет", реализуемой на территории Российской Федерации Представительством некоммерческой корпорации "Прожект Хармони Инк." (США).
Точка зрения, отраженная текстах сайта может не совпадать с точкой зрения Управления образовательных и культурных программ Государственного Департамента США или Некоммерческой корпорации "Прожект Хармони Инк.".

NN counter top100