Движение черепашки без следа




Разработка практикума по языку Logo для 6-9 классов средней школы


Черепашья графика

Дополнительные сведения

Из истории возникновения Лого.

Название языка происходит от греческого «логос» - «слово, мысль, смысл, идея». Язык Лого был разработан в 1967 году в Лаборатории Искусственного Интеллекта Массачусетского технологического института американским ученым Сеймуром Пейпертом. (В том же институте появились первые компьютерные игры, там же зародилось движение хакеров). С момента своего рождения Лого, сохраняя неизменными свои основные черты, постоянно развивается и совершенствуется. Работая со средой Лого можно создавать программы - графические, игровые, диалоговые. В настоящее время существует несколько диалектов Лого, различающихся как набором исходных процедур (примитивов), наличием и составом встроенных библиотек, так и интерфейсом среды - LogoWriter, Micro Worlds (локализованная версия - Лого Миры), UCBLogo, MSWLogo и многие другие [№4].

Язык программирования Лого предоставляет прекрасные возможности при обучении детей младшего школьного возраста.

Его основными достоинствами являются:

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

существование нескольких уровней абстракции (командный и программный режимы работы)

расширяемость набора команд за счет создания процедур.

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

Рассмотрим связь языков программирования LISP и LOGO.

Попытаемся ответить на вопрос: почему С. Пейперт создал для обучения детей язык, базирующийся на языке LISP?

Приведем несколько цитат из монографии [№8]: «ЛОГО - это обозначение философии обучения с помощью расширяющейся семьи языков программирования, которые эта философия и породила. К характерным особенностям семьи языков ЛОГО относятся функциональность и рекурсия. Таким образом, в ЛОГО возможно вводить новые команды и функции, которые затем могут использоваться абсолютно так же, как элементарные команды и функции.

ЛОГО - язык, допускающий интерпретацию. Это значит, что ЛОГО может использоваться в диалоговом режиме. Современные системы программирования на языке ЛОГО представляют собой целостные списковые структуры, т.е. они реализуют списковые языки, куда включены сами списки, списки списков и т.д.»/

Примером плодотворного использования списковой структуры является представление процедур ЛОГО как списка списков, что позволяет эти процедуры создавать, модифицировать и включать в другие процедуры ЛОГО. Таким образом, ЛОГО - это не игрушка, а настоящий язык программирования, но только для детей…"[№8].

«Название ЛОГО было выбрано для нового языка с тем, чтобы подчеркнуть, что этот язык, прежде всего символический и только затем количественный» [№8].

Приведем пример программирования на Лисп и на Лого нескольких задач обработки списков.

Пример. Найти максимальный элемент списка, длину списка, обратить список.

a) Программа на языке MU LISP:

 

primer.lsp

(DEFUN MAX (L Q)

((NULL L) Q)

(IF (>(CAR L) Q) (MAX (CDR L) (CAR L))

(MAX (CDR L) Q)

)

)

(DEFUN DLINA (L)

((NULL L) 0)

(+ 1 (DLINA (CDR L))

)

)

(DEFUN OBR (L)

((NULL L) NIL)

(CONS (OBR (CDR L)) (CAR L)

)

)

) Программа на языке LOGO (разработана для версии LogoWriter):

 

МАКЕ «L READLIST

MAKE «A FIRST:L«L1 BF:L«DLINA COUNT:L PR:DLINA

ЭТО MAX«№1 MAKE «MAX -100:DLINA [IFELSE (:MAX < ITEM:N:L

[MAKE «MAX ITEM:N:L MAKE «N:N + 1]

[MAKE «N:N + 1]]:MAX

ЭТО ОБРАЩЕНИЕ

MAKE «N:DLINA

MAKE «S []:DLINA [MAKE «S SE:S ITEM:N:L«N:N - 1]:S

END

 

Вывод о сходстве и различии языков программирования LOGO и LISP можно сделать самостоятельно после просмотра приведенного примера.

 

Урок №1 «Команды перемещения черепашки»

Вводная беседа

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

Запустив программу, вы сначала увидите заставку, а затем - оглавление (список названий листов). Откройте новый лист. В центре экрана - черепашка, а в нижней части - поле команд.

 


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

Для перемещения черепашки вперёд и назад служат команды FD и ВК (по-английски forward - вперёд, back - назад); после команды нужно указать, на сколько шагов должна продвинуться черепашка.

Например, FD 50 или ВК 70 (шаг у черепашки очень маленький).

Так как многие версии Лого русифицированы, черепашка понимает некоторые команды и на русском языке.

Например, ВПЕРЕД 50 (ВП 50) или НАЗАД 70 (НД 70)

Переключить клавиатуру с русского алфавита на латинский и обратно можно с помощью клавиши F5.

Между командой и числом необходим пробел. Черепашка выполнит команду после нажатия клавиши [Enter]. Команды можно набирать и строчными, и прописными буквами (например, fd 100 или FD 100).

Кроме перемещения вперёд - назад, черепашка способна поворачиваться вокруг своей оси на указанное число градусов. Для поворота по часовой стрелке служит команда RT; против часовой стрелки - команда LT (от слов right и left - направо и налево).

Например, RT 90 (ПР 45) или LT 60 (ЛВ 90).

 

Команда Параметр Действие Сокращен-ная форма примеры
forward (вперед) Количество шагов Черепашка движется в ту сторону, куда смотрит ее голова FD (ВП) FD 50 (ВП 60)
back (назад) Количество шагов Черепашка движется в противоположную голове сторону ВК (НД) ВК 170 (НД 70)
right (направо) Количество градусов Черепашка поворачивается направо относительно текущего состояния на указанное количество градусов RT(ПР) RT 90(ПР 45)
left (налево) Количество градусов Черепашка поворачивается налево относительно текущего состояния на указанное количество градусов LT(ЛВ) LT 60(ЛВ 90)

 


Команда CG (clear graphics - сотри рисунки) позволит очистить экран и вернуть черепашку в исходное положение.

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

Иногда трудно вспомнить текущее положение головы черепашки, но надо установить ее в какое-то строго определенное положение, например, строго вверх, или налево. Тогда удобнее использовать команду новый курс (seth) [№1].

 

Команда Параметр Действие Сокращенная форма примеры
seth(нов_курс) Количество градусов, отсчитываемых от нулевого положения черепахи головой вверх по часовой стрелке Черепашка поворачивается в соответствии с указанным направлением seth(нк) seth90 нк 225

 

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

 

Команда Параметр Действие Сокращенная форма примеры
wait(жди) Время ожидания в долях секунды Черепашка делает паузу в действиях на указанный интервал времени - Wait 1 (жди 1)

 


Прежде чем закончить работу, нужно дать название или номер листу с помощью команды NP (name page - назови лист): например, NP 1. В следующий раз лист 1 можно будет выбрать в оглавлении.

Чтобы перейти на другой лист, нажмите клавишу [ESC] или щелкните мышкой по значку на полосе, разделяющей экран, и вы увидите оглавление.

Заканчивает сеанс работы команда DOS.

Команда повторения

Новая команда REPEAT (повтори) избавит от скучных повторов:

REPEAT сколько раз [что повторять]

Команда Параметр Действие Сокращенная форма примеры
REPEAT (повтори) Количество повторов Черепашка повторяет действия в квадратных скобках столько раз, сколько указано число повторов - REPEAT 4 [FD 40 LT 90]

 

Приемы редактирования командной последовательности: стереть ошибку можно клавишей [DEL] (если курсор стоит на удаляемом символе) или клавишей [ ВК] (тогда курсор нужно поставить справа от ошибки); чтобы сделать вставку, достаточно поставить курсор справа от нужного места и набрать пропущенное.

Движение черепашки без следа

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

PU (pen up) - подними перо (черепашка при движении не будет оставлять след);

PD (pen down) - опусти перо (противоположная команда).

Правильные многоугольники


 

Чтобы нарисовать правильный треугольник и вернуться в исходное положение, черепашка должна три раза повернуться на угол, смежный с внутренним, т.е. на 120°. Например:

REPEAT 3 [FD 60 RT 120]

Черепашка трижды повернулась на 120° и вернулась в исходную точку.

3 х 120° = 360° - полный оборот.

Это программа для правильного четырехугольника:

REPEAT 4 [FD 40 RT 90]

4 х 90° = 360° - полный оборот.

Видимо, чтобы нарисовать правильный пятиугольник, черепашка должна пять раз выполнить пару действий: пройти некоторое расстояние и повернуться на пятую часть полного оборота: 3600/5=720.

REPEAT 5 [FD 40 RT 72]

Получился правильный пятиугольник.

Арифметические действия можно поручить выполнять компьютеру; знаки арифметических операций в LogoWriter нужно отделять с двух сторон пробелами: например, RT 360 / 5.

Упражнения:

1. Расчертите экран в косую линеечку.

CG RT 65 FD 9900

2. Измерьте длину и ширину экрана (в черепашьих шагах).

FD 380 LT 90 FD 640 (ширина 380, длина 640)

3. Начертите произвольный треугольник.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-03-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: