Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
языки программирования.rtf
Скачиваний:
8
Добавлен:
26.11.2019
Размер:
217.88 Кб
Скачать

Системе координат.

В рассматриваемой версии интерпретатора языка Лого графический экран снабжен прямоугольной системой координат, начало которой находится в верхнем левом углу экрана. Ось Х направлена горизонтально от верхнего левого угла к правому. Ось Y направлена вертикально вниз. Размер поля, по которому перемещается черепашка, составляет: по оси Х – 640 шагов; по оси Y – 450 шагов. Первоначально находясь в центре экрана, черепашка имеет координаты Х=319 Y=174.

Переместится в точку с заданными координатами можно с помощью команды

moveto (x) (y) – где x и y требуемые координаты, которые могут иметь только положительные значения и изменятся в пределах x от 0 до 639, y от 0 до 451. Если ввести значение меньшее 0 или большее верхней границы, появится сообщение о выходе за пределы экрана.

Также можно использовать для перемещения псевдопеременные (т.е. переменные значение которых нельзя задавать) @x и @y, которые соответствуют текущему положению черепашки. Если задать команду moveto (@x) (40) – то исполнитель переместится вдоль оси Y на заданную координату y=40, значение х при этом не изменится. Или moveto (40) (@y) – перемещение вдоль оси Х.

Построение процедур.

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

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

Новые команды в отличие от базовых, называют процедурами. Определить процедуру – значит объяснить ее черепашке, используя уже известные ее команды.

Процедура должна начинаться со слова to, за которым следует имя процедуры и заканчиваться словом end.

Рассмотрим пример. Пусть требуется нарисовать прямоугольник со сторонами, равными 40 и 60 шагам. Команду, по которой Черепашка будет его рисовать, назовем прямоугольник и запишем ее так:

to прямоугольник

forward 40

right 90

forward 60

right 90

forward 40

right 90

forward 60

right 90

end

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

Выбирая имя процедуры нужно соблюдать два следующих правила:

  1. Нельзя называть процедуру служебными словами, т.Е. Словами за которыми в Лого закреплено определенное значение (forward и т.Д.).

  2. Название должно состоять из одного слова, а в качестве разделителя допустимо использование подчеркивания.

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

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

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

В языке Лого существует возможность избегать такого рода повторения, используя при записи процедур переменные величины, называемые параметрами процедуры. В этом случае сами процедуры называются процедурами с параметром. Приведем пример записи процедуры с параметром, с помощью которой рисуется прямоугольник. Переменные :a и :b отвечают за длины сторон и являются формальными параметрами процедуры.

to прямоугольник :a :b

forward :a

right 90

forward :b

right 90

forward :a

right 90

forward :b

right 90

e nd

Что получится в результате ее исполнения?

Так при выполнении команды:

прямоугольник 10 30

на экране будет получен прямоугольник со сторонами 10 и 30 шагов.

А при выполнении команды:

прямоугольник 30 10

на экране монитора будет получен прямоугольник со сторонами 30 и 10 шагов.

И в том и другом случае числа 10 и 30 (30 и 10) называются фактическими параметрами.

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

Обобщим сведения и сформулируем правила работы при написании процедур с параметрами.

  1. Перед использованием параметров в процедуре следует сначала описать параметры после имени процедуры, т.е. первая строка процедуры должна содержать служебное слово to, имя процедуры и имена входных параметров.

  2. Перед именами параметров всегда ставится двоеточие.

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

  4. Выражения в записи параметров отделяются друг от друга пробелами.

  5. Исполнение процедуры с параметром начинается с того, что значения всех выражений указанных после имени процедуры вычисляются и присваиваются параметрам в том порядке, в котором они указаны после имени процедуры слева направо.