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

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

)

)

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

МАКЕ «L READLIST

MAKE «A FIRST: L

MAKE «L1 BF: L

MAKE «DLINA COUNT: L PR: DLINA

ЭТО MAX

MAKE «№ 1 MAKE «MAX -100

REPEAT: DLINA [IFELSE (: MAX < ITEM: N: L

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

[MAKE «N:N + 1]]

PR: MAX

END

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

MAKE «N: DLINA

MAKE «S []

REPEAT: DLINA [MAKE «S SE: S ITEM: N: L

MAKE «N:N — 1]

PR: S

END

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

2. Урок № 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 (нк)

seth 90

нк 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. Начертите произвольный треугольник.

CG PD FD 80 RT 135 FD 112 НК 270 FD 80 PU FD 60

4. Напишите программы для следующих рисунков, используя команду повтора.

4.1. Равносторонний треугольник

REPEAT 3 [FD 60 RT 120]

4.2. Лесенка

REPEAT 4 [FD 40 RT 90 FD 40 LT 90]

Упражнения для самостоятельной работы

5. Рассуждая аналогичным образом, напишите программы для рисования правильных многоугольников с числом сторон, равным 6, 7, 9, 12, 20, 100, 360. Почему приходится изменять длину стороны?

6. Напишите программы для рисования следующих картинок

6.1. Фигуры

6.2 Знак

6.3. Треугольники

Таблица основных команд

FD

перемещение черепашки вперёд

BK

перемещение черепашки назад

LT

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

RT

поворот по часовой стрелке

WAIT

пауза в действиях на указанный интервал времени

CG

очистить экран

NP

дать название или номер листу

REPEAT

повторение

DOS

заканчивает сеанс работы

PU

(pen up) — подними перо

PD

(pen down) — опусти перо

Основные клавиши

ESC

перейти на другой лист

DEL

удаление символа

Enter

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

F5

перейти с русского алфавита на латиницу и обратно

3. Урок № 2 «Процедуры»

Описание процедур

Программу можно записать в специальном месте (как в записную книжку) — на обратной стороне листа. Записанной программе нужно дать имя и затем, сколько бы раз она ни потребовалась, достаточно вызвать её по имени. Таким образом, мы как бы обучаем черепашку новым командам. Этот процесс называется описанием процедур.

Чтобы заглянуть в записную книжку (или, по-другому, перевернуть лист), надо нажать клавиши [Ctrl] и [F].

Ту же комбинацию клавиш нужно нажать, чтобы перевернуть лист обратно, на лицевую сторону.

Другой способ перейти с одной стороны листа на другую — щелкнуть мышкой по значку листа с завернутым уголком.

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

Первая часть — заголовок, он начинается словом ЭТО; дальше идёт название, которое вы можете придумать по своему усмотрению.

Вторая часть — собственно программа.

Третья часть — слово END (END).

Например:

ЭТО КВАДРАТ

REPEAT 4 [FD 40 RT 90]

END

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

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

Ctrl + F

переход с лицевой стороны листа на изнаночную и обратно

F1

включение режима выделения текста

Esc

отмена выделения текста

F2

вырезание выделенного фрагмента текста (с запоминаем)

F3

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

F4

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

Чтобы изменить цвет черепашки (и цвет её пера), нужно дать команду SETC (set color — установи цвет) и через пробел указать номер цвета. Например, после выполнения команды SETC 12 черепашка станет красной и будет оставлять такой же след.

Для закраски частей экрана служит команда FILL (заполни). Черепашка, получив эту команду, заливает экран той же краской, какой покрашена сама (если перо черепашки опущено). Краска будет растекаться, пока не встретит препятствие — какой-либо замкнутый контур.

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

а) поднять перо;

б) переместить черепашку внутрь контура;

в) опустить перо;

г) дать команду FILL.

При выполнении заданий вам может быть полезна ещё одна новая команда RG (reset graphics — сброс графических установок). Эта команда не только очищает экран от рисунков и перемещает черепашку в исходное положение, но и возвращает ей первоначальный белый цвет и исходную форму (команда CG последних действий не производит). Кроме того, после выполнения команды RG перо черепашки оказывается опущенным.

Возможность обучать черепашку новым командам (записывая процедуры на изнанке листа) очень полезна при решении достаточно сложных задач.

При решении достаточно сложной задачи поможет разбиение её на подзадачи и описание более простых частей как процедур.

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

ЭТО ЛЕПЕСТОК

REPEAT 5 [FD 60 RT 72]

END

а затем уже записать, как получается цветок (лепесток — поворот, лепесток — поворот…):

ЭТО ЦВЕТОК

REPEAT 4 [ЛЕПЕСТОК RT 90]

END

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

REPEAT 5 [FD 60 RT 72] RT 90

REPEAT 5 [FD 60 RT 72] RT 90

REPEAT 5 [FD 60 RT 72] RT 90

REPEAT 5 [FD 60 RT 72] RT 90

Или короче:

REPEAT 4 [REPEAT 5 [FD 60 RT 72] RT 90]

Результат получится тот же, но запись процедуры ЦВЕТОК выглядит более понятно, ошибки в таких записях отыскивать и исправлять легче.

Ещё одно преимущество заключается в том, что процедуру ЦВЕТОК можно использовать и для других цветков — стоит лишь изменить форму лепестка.

Чтобы получить на экране полуокружность, можно нарисовать только половину сторон соответствующего многоугольника. Например:

REPEAT 180 [FD I RT 1].

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

REPEAT 180 [FD 2 RT 1].

Упражнения:

1. Опишите процедуру рисования правильного треугольника.

ЭТО ТРЕУГОЛЬНИК

REPEAT 3 [FD 60 RT 120]

END

2. Используя эту новую команду, нарисуйте на экране 5−6 треугольников, расположенных в разных местах.

CG PU ТРЕУГОЛЬНИК PD

ВК 120 PU ТРЕУГОЛЬНИК PD

RT 90 FD 100 PU ТРЕУГОЛЬНИК PD

LT 90 FD 120 PU ТРЕУГОЛЬНИК PD

3. Для рисования следующих картинок напишите программы с использованием процедуры.

3.1. Флаги

CG PD REPEAT 3 [ТРЕУГОЛЬНИК FD 60]

3.2 Треугольники

CG PD REPEAT 4 [ТРЕУГОЛЬНИК RT 90]

CG LT 90 REPEAT 3 [PD ТРЕУГОЛЬНИК PU FD 80]

Упражнения для самостоятельной работы

4. Напишите программу, которая рисует цветок с четырьмя треугольными лепестками.

5. Опишите процедуры, рисующие квадратный, пятиугольный, круглый лепесток.

6. Напишите программы для рисования цветов с разным количеством и различной формой лепестков.

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

7.1. Перо

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

7.2. Цветок

В решении нужно использовать результат предыдущего задания. Следовательно, должна получиться процедура третьего уровня.

Таблица основных команд

Специальные слова и новые команды

ЭТО

начало заголовка процедуры

END

END описания процедуры

SETC

изменение цвета черепашки и ее следа

FILL

заливка контура цветом

RG

сброс графических установок

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

Ctrl + F

переход с лицевой стороны листа на изнаночную и обратно

F1

включение режима выделения текста

Esc

отмена выделения текста

F2

вырезание выделенного фрагмента текста (с запоминаем)

F3

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

F4

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

4. Урок № 3 «Процедуры с параметрами»

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

Команды языка Лого можно разделить на две группы. Одни выполняются всегда одинаково, и после команды никакой дополнительной информации указывать не нужно (например, CG, PU). Они называются командами без параметров. Другие команды требуют указания числовых или иных данных (например, RT 80). Это команды с параметрами (одним или несколькими).

Параметр — это величина, которая может принимать различные значения и описывает какие-либо характеристики объектов. В модуле параметр имеет имя, записываемое чаще всего буквами. Значение параметра можно изменить, при этом меняется результат работы процедуры.

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

Предположим, на изнанке листа описана следующая процедура:

ЭТО КВАДРАТ

REPEAT 4 [FD 140 RT 90]

END

Теперь в список команд черепашки входит команда КВАДРАТ, её можно использовать наравне со всеми остальными командами. Она всегда выполняется одинаково: чтобы её выполнить, достаточно напечатать её имя и нажать ввод. Поэтому команда КВАДРАТ — команда без параметров.

Оказывается, можно изменить процедуру КВАДРАТ так, чтобы она принадлежала ко второй группе:

ЭТО КВАДРАТ: Z

REPEAT 4 [FD: Z RT 90]

END

Длина стороны квадрата теперь переменная величина. Изменённая таким образом процедура будет рисовать квадраты любого размера.

Правила описания процедуры с параметром:

· число, которое мы хотим сделать изменяемым (параметр), заменить на имя (букву, несколько букв) со специальной меткой — двоеточием;

· указать это имя (с двоеточием) в заголовке процедуры

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

Некоторые команды Лого «понимают» отрицательные числа.

Например, можно дать черепашке команду FD -90, результат её выполнения будет такой же, как результат команды ВК 90 (и наоборот); RT -90 = LT 90 (и наоборот).

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

В процедуре может быть несколько параметров. Например:

ЭТО МНОГОУГОЛЬНИК: N:X

REPEAT: N [FD: X RT 360 /: N]

END

Изменяя первый параметр, можно получать разные фигуры: и треугольники, и пятиугольники, и другие. А при изменении второго параметра будет меняться размер фигур.

Упражнения

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

ЭТО КВАДРАТЫ: D

REPEAT 4 [FD:D RT 90]

REPEAT 4 [FD:D + 10 RT 90]

REPEAT 4 [FD:D + 20 RT 90]

REPEAT 4 [FD:D + 30 RT 90]

REPEAT 4 [FD:D + 40 RT 90]

REPEAT 4 [FD:D + 50 RT 90]

END

2. Опишите две процедуры для рисования «правой» и «левой> окружности переменного размера. Создайте с их помощью процедуру для рисования «бабочки»

ЭТО ОКРУЖПР

REPEAT 360 [FD 1 RT 1]

REPEAT 360 [FD 2 RT 1]

REPEAT 360 [FD 1.5 RT 1]

REPEAT 360 [FD 2.5 30 RT 1]

END

ЭТО ОКРУЖЛВ

REPEAT 360 [FD 1 LT 1]

REPEAT 360 [FD 2 LT 1]

REPEAT 360 [FD 1.5 LT 1]

REPEAT 360 [FD 2.5 LT 1]

END

ЭТО БАБОЧКА

ОКРУЖПР

ОКРУЖЛВ

END

3. Опишите процедуру для рисования и закрашивания окружности, в которой параметром является цвет черепашки. Нарисуйте на экране несколько кругов разного цвета.

ЭТО ЦВКРУГ: С

SETC: C

REPEAT 360 [FD 1 LT 1]

PU RT 30 FD 13 PD

FILL

END

Упражнения для самостоятельной работы

4. Нарисуйте «цветы», отличающиеся друг от друга количеством и формой лепестков.

5. Напишите процедуру для рисования элемента греческого орнамента — меандра.

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

6. Напишите процедуру, которая рисует полоску орнамента — ряд завитков переменной длины. В этой процедуре должны быть уже два параметра: размер одного завитка и количество их в ряду.

7. Нарисуйте рамку (воспользуйтесь процедурой из предыдущего задания).

Самостоятельная работа № 1

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

I вариант

Напишите программы для рисования следующих картинок

№ 1 Пунктир

№ 2 Волны

№ 3 Квадраты

II вариант

Напишите программы для рисования следующих картинок

№ 1 Квадраты

лого программирование черепашка рисование

№ 2 Цветок

№ 3 Ёлочка

III вариант

Напишите программы для рисования следующих картинок

№ 1 Пила

№ 2 Цветок

№ 3 Пирамида

IV вариант

Напишите программы для рисования следующих картинок

№ 1 Домик

№ 2 Пружинка

№ 3 Снеговик

ПоказатьСвернуть
Заполнить форму текущей работой