Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Базовые команды движения и рисования



Команды относительного перемещения

Для перемещения Черепашки вперед и назад служат команды:

FD FORWARD ВПЕРЕД
BK BACK НАЗАД

После команды нужно указать, на сколько шагов должна продвинуться Черепашка. Например, FD 50 (Черепашка продвинется на 50 шагов вперед) или BK 100 (Черепашка продвинется на 100 шагов назад). Между командой и числом - пробел.

Команды управления пером

PU PEN UP ПОДНЯТЬ ПЕРО
PD PEN DOWN ОПУСТИТЬ ПЕРО

Двигаясь по рабочему полю Черепашка оставляет за собой прямую линию словно рисует пером. Пером можно управлять, используя вышеперечисленные команды.

Команды поворота Черепашки

RT RIGHT НАПРАВО
LT LEFT НАЛЕВО

Эти команды требуют обязательного параметра - угла поворота в градусах. Например, LT 90 (Черепашка поворачивается налево на 90 градусов), RT 120 (Черепашка поворачивается направо на 120 градусов).

Команды работы с цветом

До сих пор Черепашка рисовала белым по черному. В нашем распоряжении есть еще 14 цветов - всего их 16, оттенков 123. Цвета пронумерованы от 0 до 139. Номер черного цвета - 9; номер белого - 0. Чтобы изменить цвет Черепашки (и цвет ее пера), нужно дать команду:

SETC SET_COLOR НОВ_ЦВЕТ

и через пробел указать номер цвета. Например, после выполнения команды SETC 15 Черепашка станет красной, и будет оставлять такой же след. Для закраски частей экрана служит команда FILL (КРАСЬ). Черепашка, получив эту команду, заливает экран той же краской, какой покрашена сама (если перо Черепашки опущено). Чтобы Черепашка закрасила контур, необходимо выполнить следующие действия:

поднять перо
переместить Черепашку внутрь контура
опустить перо
дать команду FILL


Черепашка может рисовать на экране. Чтобы наглядно представить это себе говорят, что она таскает за собой перо. Иногда говорят, что она чертит линии на песке своим хвостом. Вы можете использовать любое из этих представлений, говорите так, как вам больше нравиться. Если перо (хвост) опущено, то она оставляет след, если поднято - то при передвижении следа не остается.

Команда SETPENSIZE [ширина] - устанавливает размера пера. Перо всегда имеет прямоугольную форму. Например, setpensize 4

Стирание графики

Для того, чтобы стереть рисунок, но сохранить положение Черепашки, применяется команда:

CLEAN   СОТРИ

Для восстановления исходного состояния графического экрана – рисунок стирается, Черепашка в исходном состоянии:

CLEARSCREEN CS СГ

Последовательность команд - программа для Черепашки

Можно управлять Черепашкой, нажимая клавишу ввода после каждой команды. Если же записать подряд несколько команд (отделяя, их друг от друга пробелом) и только после этого нажать клавишу ввода, то Черепашка быстро выполнит команды одну за другой.

Например: FD 100 RT 90 FD 50 RT 90 FD 50 RT 90 FD 50.

Команды цикла (повторения)

Команда REPEAT (повторить)

При написании программ нередко приходится многократно повторять одни и те же команды. Для того, чтобы ускорить процесс написания программ предусмотрен специальный оператор цикла. Он позволяет строить программу из более крупных " блоков", избегая переписывания повторяющихся команд.

Циклом (повтором) называется такая форма организации действий, при которой одна и та же последовательность действий совершается несколько раз до тех пор, пока выполняется необходимое число раз.

В языке Лого оператором цикла является команда REPEAT (повторить).

REPEAT число раз [ действие 1, ..., действие n ]

ПОВТОРИ число раз [ действие 1, ..., действие n ]

Здесь можно выделить такие составные части:

· Собственно оператор REPEAT (повторить);

· Указатель количества повторений (число раз);

· Указатель начала цикла ( [ );

· Повторяющаяся цепочка команд (действие 1, ..., действие n);

· Указатель конца цикла ( ] ).

Прочитав, в наборе команд REPEAT Черепашка ищет указание числа повторений. Запомнив его место, Черепашка будет выполнять команды, пока не встретит указатель конца цикла - правую квадратную скобку. После этого Черепашка возвращается к началу цикла и проверяет, выполнила ли она цикл заданное число раз. Если нет, то она продолжает выполнять цикл, в противном случае (если она уже выполнила цикл задуманное число раз) Черепашка начинает выполнять команды, расположенные после квадратных скобок. Таким образом, тело цикла выполняется задуманное число раз.

Построение процедур (подпрограмм)

Любое изображение, которое нарисует Черепашка, можно получить с помощью базовых команд. Но бывает необходимо выполнить несколько раз большие фрагменты программы. Чтобы избежать утомительного повтора, можно этот фрагмент оформить как (подпрограмму) процедуру для многократного использования. Для этого сначала этому фрагменту дают новое название, а затем используют его как имя команды для вызова в программе.

ТО < имя команды > < описание фрагмента > END ЭТО < имя команды > < описание фрагмента > КОНЕЦ

Таким образом, можно определить любую процедуру, при этом следует соблюдать следующие правила:

· нельзя называть процедуры словами, за которыми в Лого закреплено определенное значение, такие слова называются служебными.

· название должно содержать не больше 15 символов и состоять из одного слова.

В остальном слова могут быть любыми.

Обязательно:

· Сначала идут все процедуры, потом - основная программа.

· ТО... END - только для подпрограмм.

· Основная программа оформляется как подпрограмма. Для запуска ее необходимо указать только имя.

Команды изменения переменных

Переменные величины

В курсе школьной математики изучают переменные величины, и числа в математике часто обозначаются буквами.

Например: x=a+b, где a и b – переменные.

В языке Лого переменная - это любая последовательность символов (букв и цифр), начинающаяся с буквы. Она не должна содержать в себе пробел и должна быть больше 16 символов.

Признаком переменной является символ ": ", с которого обязательно начинается переменная. Например: : A: N1: INZ5

Оператор присваивания

: < переменная> = < арифметическое выражение>

Арифметическое выражение включает в себя константы, переменные, знаки арифметических действий ( +, -, *, / ) и скобки.

: А = 25 : N =: N + 1 : B = 125 * (: M + 1 ) / 100 : C = 270 *: N

В Лого работает только целая арифметика. Поэтому, результатом деления является целая часть частного.

Команды и процедуры с параметрами

В Лого переменные могут использоваться в качестве параметров движения Черепашка, для управления последовательностью действий Черепашка, в процедурах с параметрами и в рекурсивных командах.

Базовые команды Черепашка (FORWARD, RIGHT, REPEAT и пр.) состоят из команды (оператора) и параметра (операнда). В качестве параметров использовали число (пример " квадрат", здесь три команды с параметром: REPEAT 4, FORWARD 50, RIGHT 90). Можно в качестве параметра команды использовать переменную, а не число. Допустим, нужно нарисовать квадраты с разной (переменной) стороной. В этом случае в команде FORWARD в качестве параметра используем переменную: FORWARD: X

Команда выбора (ветвление) в Лого

В некоторых случаях необходимо определить условие тех или иных действий, выполняемых Черепашка. Для этого используется команда выбора IF (ЕСЛИ)

IF < условие> [ < команда или серия команд, если условие выполняется > ] [ < команда или серия команд, если условие не выполняется > ] ЕСЛИ < условие> [ < команда или серия команд, если условие выполняется > ] [ < команда или серия команд, если условие не выполняется > ]

Условие имеет вид отношения, при этом используются обозначения:

< - меньше, < = - меньше или равно,

- больше, > = - больше или равно,

= - равно, < > - не равно.

В случае записи условных операторов нужно:

· не забывать про квадратные скобки;

· записывать по одному оператору на строке.

В этом случае запись условного оператора становится более наглядной и человеку удобно читать и понимать программу, может иметь место многократная вложенность команд IF.

Рекурсия

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

Заметим, что такая возможность имеется далеко не во всех языках программирования. К, примеру, Бейсик рекурсии не имеет, а в Лого - это наиболее употребляемый прием.

Функция

Можно провести аналогию с обычной записью математических выражений и порядком их вычисления.

В число Лого входят операции (стандартные функции) SQRT, SIN, COS (извлечение квадратного корня, синус и косинус от градусного аргумента). А вот стандартная функция тангенс отсутствует. Для описания функций служит специальная команда – OP (out put – вывести, считать результатом). Она прекращает выполнение процедуры и возвращает значение аргумента.


Поделиться:



Последнее изменение этой страницы: 2019-10-03; Просмотров: 237; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.021 с.)
Главная | Случайная страница | Обратная связь