Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема 1 Графика ЛОГО

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.6.2024

В стране черепашек

Начала программирования в среде ЛогоМиры

Автор: Белова Галина Владимировна

Содержание

[1]

[2] Использование среды ЛогоМиры в учебном предмете «Информатика».

[3]
Глава 1. Лекции и задания для начинающих

[4] Тема 1. Графика ЛОГО. Диалоговые окна черепашек

[4.1] 1. 1. Графический редактор ЛогоМиров

[4.1.1] 1. 1. 1. Основные инструменты

[4.1.2] 1. 1. 2. Рисуем инструментами

[4.1.2.1] Упражнение 1

[4.1.2.2] Упражнение 2.

[4.2]
1. 2. Оживляем картинку

[4.2.1] 1. 2. 1. Кто такие черепашки?

[4.2.2] 1.2.2. «Одежки» для черепашки

[4.2.3] 1. 2. 3. Отпечатки образа черепашки

[4.2.3.1] Упражнение 3

[4.3] 1. 3. Начала программирования

[4.3.1] 1. 3. 1. Команды движения

[4.3.1.1] Упражнение 4

[4.3.2] 1. 3. 2. Команды поворотов

[4.3.2.1] Упражнение 5.

[4.3.2.2] Упражнение 6.

[4.3.3] 1. 3. 3. Диалоговые окна черепашек

[4.3.3.1] Упражнение 7.

[4.3.3.2] Упражнение 8

[4.3.3.3] Упражнение 9

[4.3.3.4] Упражнение10

[5]
Тема 2. Работа с меню форм, импорт образа, создание формы

[5.1] 2. 1. Работа с меню форм

[5.1.1] 2. 1. 1. Создание новой формы.

[5.1.1.1] Упражнение 1

[5.1.2]
2. 1. 2. Копирование форм.

[5.1.3] 2. 1. 3. Команда НОВАЯ ФОРМА

[5.1.3.1] Упражнение2

[5.1.3.2] Упражнение3

[5.2]
2. 2. Импорт и экспорт форм

[5.2.0.1] Упражнение 4

[6] Тема 3. Бегунки, кнопки, музыкальные объекты

[6.1] 3. 1. Бегунки

[6.1.0.1] Упражнение 1

[6.2] 3. 2. Кнопки

[6.2.0.1] Упражнение 2

[6.3] 3. 3. Музыкальный редактор

[6.3.0.1] Упражнение 3

[7] Тема 4. Работа с текстовыми окнами

[7.1] 4. 1. Создание текстовых окон

[7.2] 4. 2. Изменение размеров и местоположения текстового окна.

[7.3] 4. 3. Изменение характеристик текстового окна.

[7.3.0.1] Упражнение 1

[7.4] 4. 4. Печать содержимого текстового окна.

[7.5] 4. 5. Использование штампов форм черепашки для оформления проекта.

[7.5.0.1] Упражнение2

[7.6] 4. 6. Сохранение рисунка проекта на диске

[7.6.0.1] Упражнение 3

[7.6.0.2] Упражнение 4

[8]
Тема 5. Работа с несколькими черепашками.

[8.1] 5. 1. Имена черепашек, активные черепашки.

[8.1.0.1] Упражнение 1

[8.2] 5. 2. Обращение к черепашкам.

[8.2.0.1] 5. 2. 1. Непосредственное обращение

[8.2.0.2] Упражнение 2

[8.2.0.3] 5. 2. 2. Команда ДЛЯ

[8.2.0.4] Упражнение 3

[8.2.0.5] 5. 2. 3. Обращение, не изменяющее активной черепахи

[8.2.0.6] Команда КАЖДАЯ

[8.2.0.7] Упражнение 4

[8.3] 5. 2. Использование процедур

[8.3.1] Упражнение 5

[8.4] 5. 3. Создание ролевого мультфильма

[8.4.1] 1 этап.

[8.4.2] Команда НОВ_МЕСТО

[8.4.3] Этап 2

[8.4.4] Этап 3

[8.4.5] Заключительный этап

[8.4.6] Дополнительное задание (выполняется по желанию):

[9]
Глава 2. Лекции для среднего уровня подготовки.

[10] Тема 1. Управление объектами с помощью программ

[10.1] 1. 1. Управление черепашками

[10.1.1] 1. 1. 1. Поле команд.

[10.1.2] 1. 1. 2. Лист программ

[10.2] 1. 2. Описание основных команд языка ЛОГО.

[10.2.0.1] 1. 2. 1. Команды движения

[10.2.0.2] 1. 2. 2. Команды поворотов

[10.2.0.3] 1. 2. 3. Команды пера черепахи

[10.3] 1. 3. Процедуры

[10.3.0.1] Упражнение 1

[10.3.1] 1. 3. 1. Использование процедур в процедурах

[10.3.1.1] Упражнение 2

[11] Тема 2.  Процедуры с параметрами

[11.0.0.1] Упражнение 1

[11.1] 2. 1. Пример применения процедур с параметрами

[11.1.0.1]
2. 1. 2. Команда «КРАСЬ»

[11.1.0.2] Упражнение 2

[11.1.0.3] Упражнение 3

[11.2] 2. 2. Рисуем правильные многоугольники

[11.2.0.1] Упражнение 4

[11.3] 2. 3. Датчик случайных величин

[11.3.0.1] Упражнение 4

[11.3.0.2] Упражнение 5

[12] Тема 3. Рекурсивные процедуры

[12.1] 3. 1. Введение

[12.2] 3. 2. Понятие рекурсивной процедуры

[12.2.0.1] Упражнение 1.

[12.2.0.2] Упражнение 2

[12.3] 3. 3. Управляемая рекурсия

[12.3.0.1] Упражнение 3

[12.3.1] 3. 3. 1. Примеры управляемых рекурсий

[12.3.1.1] Пример 1

[12.3.1.2] Пример 2

[12.3.1.3] Упражнение 4

[12.3.1.4] Упражнение 5

[12.3.1.5] Косвенная рекурсия

[12.4] 3. 4. Управление черепашкой с клавиатуры

[12.4.0.1] Упражнение 6

[12.4.0.2] Литература.

[13] Тема 4. Разработка многомодульных программ

[13.1] 4. 1. Принцип модульности

[13.2] 4. 2. Этапы решения сложных задач

[13.2.1] 1 этап

[13.2.2] 2 этап

[13.2.2.1] Блок-схема процедуры для создания произвольного многоугольника.

[13.2.2.2] Блок-схема построения дома

[13.2.2.3] Блок-схема строительства улицы

[13.2.2.4] Команда спроси

[13.2.3] 3 этап

[13.2.3.1] Упражнение 1

[13.2.3.2] Упражнение 2

[14]
Тема 5. Внедрение мультимедийных объектов, синхронизация процессов.

[14.1] 5. 1. Внедрение музыки и звука.

[14.1.0.1] Упражнение 1

[14.2] 5. 2. Синхронизация процессов.

[14.2.0.1] Упражнение 2

[14.3] 5. 3. Запись звука

[14.3.0.1] Упражнение 3


Использование среды ЛогоМиры в учебном предмете «Информатика».

Дальнейшее развитие общего образования подразумевает непрерывность в обучении детей с 1 по 11 класс. В этой связи выстраивается многоуровневая структура предмета «Информатика», который рассматривается как систематический курс, непрерывно развивающий знания учеников. Современная информатика строится на 3-х концентрах обучения: начальный курс (2-4 классы), основной курс (5-9 класс), профильный курс. В этих концентрах можно выделить вводную часть (пропедевтический курс для 2-6 классов), основную (7-9 класс) и профильную часть (10-11 класс).

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

Имеющийся встроенный графический редактор можно использовать при изучении темы «Графические редакторы» в 5-6 классах, а также как творческую среду для младших школьников. Набор команд  создает очень легкую в использовании и наглядную среду для изучения тем, связанных с алгоритмами, их видами, способами представления  и исполнителями. С этой точки зрения главный герой ЛогоМиров – черепашка – является идеальным исполнителем, который наглядно, в доступной для детей форме иллюстрирует процесс выполнения команд, заданных пользователем.

Среда ЛогоМиры предоставляет некоторые мультимедийные возможности . Так как процесс вставки и использования мультимедийных файлов упрощен, это позволяет ознакомить даже младших школьников с различными видами файлов и научить их использовать. Использование языка Лого для программирования позволяет постичь основы этого искусства уже на этапе младшей и средней школы. В то же время, дополнительные возможности, связанные с графикой и звуком, делают процесс изучения увлекательным, стимулируют познавательный процесс.

Доступность и простота делает изучение среды ЛогоМиров возможным в дистанционном режиме в рамках обучающих курсов, семинаров, олимпиад и т. д. В частности, лекции по творческой среде ЛогоМиры с успехом были освоены участниками сетевой обучающей олимпиады ОСО-2005.


Глава 1. Лекции и задания для начинающих

Тема 1. Графика ЛОГО. Диалоговые окна черепашек

Творческая среда ЛогоМиры адресована в первую очередь детям, поэтому имеет понятный, красочный интерфейс, встроенный графический редактор, меню готовых форм, широкие возможности применения мультимедийных объектов.

Для загрузки программы ЛОГО МИРЫ надо найти в перечне программ кнопки «ПУСК» пиктограмму ЛогоМиров и щелкнуть по ней. После появления заставки с надписью ЛогоМиры, можно щелкнуть в любое место этой заставки для ускорения процесса загрузки.

1. 1. Графический редактор ЛогоМиров

При изучении графики целесообразно убрать черепашку с листа проекта (см. п. 2.1).

1. 1. 1. Основные инструменты

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

В нижней части экрана открывается меню инструментов:

Пиктограммы инструментов наглядно отражают назначение конкретного инструмента:

Карандаш позволяет рисовать произвольные линии выбранной толщины и цвета

Рисует прямую линию выбранной толщины и цвета с любым наклоном

Рисует прямоугольник линией выбранной толщины и цвета по шаблону, растягиваемому пользователем

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

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

Краска закрашивает замкнутую область выбранным цветом. Если область не замкнутая, то краска разливается!

Пульверизатор разбрызгивает краску на область, ограниченную окружностью.

Рисует овал линией с выбранной толщиной и цветом по шаблону, который растянет пользователь.

То же, что и в предыдущем случае, но овал закрашивается.

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

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

Это инструмент для назначения толщины линии для рисования или стирания ластиком

С помощью панели цветов, можно выбирать цвет линии и закраски. Цвета можно «листать» с помощью полосы прокрутки.

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

1. 1. 2. Рисуем инструментами

Упражнение 1

Нарисуйте на своем проекте следующие графические образы:

1) вложенные квадраты или прямоугольники рисуются инструментом  с выбранным толстым пером и красным цветом, а потом инструментом  заливаются свободные области любыми цветами;

2) Облака можно нарисовать инструментом  , если расположить овалы рядом друг с другом так, чтобы они перекрывались. Не забывайте выбирать заранее цвет рисования, а то облака могут получиться зеленого цвета!

3) «Пушистые» облака можно создать инструментом .

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

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

6) Домик нарисован инструментами  и . Крыша закрашена с помощью .

Упражнение 2.

 Осуществите проект, который покажет, как вы овладели приемами работы с инструментами. Можно использовать, например, такую картинку:

Постарайтесь использовать те приемы и инструменты, о которых было рассказано.


1. 2. Оживляем картинку

1. 2. 1. Кто такие черепашки?

Черепашки это население ЛОГО МИРОВ. При открытии нового проекта хотя бы одна черепашка обязательно уже присутствует на листе. Она обычно находится в центре листа проекта.

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

1.2.2. «Одежки» для черепашки

 

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

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

1. 2. 3. Отпечатки образа черепашки

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

При штамповке можно легко потерять черепашку среди ее образов. Если это случилось, можно попробовать подвинуть отштампованные рисунки. Если изображение не двигается, то это не черепашка. Можно также выбрать в меню РЕДАКТОР пункт ВЫДЕЛИ ВСЕ. У настоящих черепашек появятся серые «пипочки» по краям.

Упражнение 3

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

1. 3. Начала программирования

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

1. 3. 1. Команды движения

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

Почти у всех команд есть параметры. Это числа, которые уточняют последующие действия черепашки. Так и у команды «вперед» есть параметр. Он означает, сколько шажков должна сделать черепашка. Так как ножки у черепашки очень коротенькие, то 10 шажков черепашки это приблизительно одна клеточка школьной тетради. Вот как выглядит, например, команда, которая заставит черепашку прошагать 100 шажков:

вперед 100

Чтобы не писать длинные слова, команды можно сокращать. Так, команду вперед можно сократить до двух букв – вп. Таким образом, чтобы отправить черепашку в короткое путешествие, достаточно дать ей команду вп 100.

Команды черепашке можно писать либо в поле команд внизу проекта, либо в диалоговом окошке черепахи. Поле команд открывается при загрузке проекта ЛОГО МИРОВ, либо при нажатии на пиктограмму  .

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

Аналогичная команда заставляет черепашку пятиться назад: назад 100 или в сокращенной форме -  нд 100.

Упражнение 4

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

1. 3. 2. Команды поворотов

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

Команда

Параметр

Дйствие

Сокращенная форма

примеры

направо

Количество градусов

Черепашка попорачивается направо относительно текущего состояния на указанное количество градусов

пр

направо 45

пр 90

налево

Количество градусов

Черепашка попорачивается налево относительно текущего состояния на указанное количество градусов

лв

налево 90

лв 60

Упражнение 5.

Поверните черепашку и отправьте ее «погулять» по горизотали командами вперед и назад.

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

Команда

Параметр

Дйствие

Сокращенная форма

примеры

нов_курс

Количество градусов, отсчитываемых от нулевого положения черепахи головой вверх по часовой стрелке:

Черепашка порачивается  в соответствии с указанным направлением

нк

нов_курс 90

нк 225

Упражнение 6.

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

1. 3. 3. Диалоговые окна черепашек

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

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

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

В поле имени черепашки написано стандартное имя, даваемое всем черепашкам при рождении – ч1 или ч2 (черепаха 1 или черепаха 2…). Можно это имя изменить на любое другое, например, назвать черепашку человеческим именем Маша или Саша. При этом нужно учесть, что имя должно быть одним словом. Если имя должно состоять из двух слов, то их надо связать подчеркиванием, например так: Кощей_Бессмертный.

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

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

Упражнение 7.

Напишите в диалоговом окне черепашки в строке «Инструкция» команды:

пр 90 вп 100

Проверьте, чтобы переключатель стоял в положении «Один раз». Нажмите кнопку ОК. Щелкните по черепашке несколько раз. Посмотрите, как она движется. Почему она движется каждый раз в разных направлениях?

Упражнение 8

Напишите в диалоговом окне черепашки команду

вп 2

Поставьте переключатель  в положение «Много раз». Нажмите на ОК. Чтобы остановить черепашку, выберите в меню пункт «Редактор», «Останов» или нажмите Ctrl + Break.

Что происходит при щелчке по черепашке? Как сделать движение черепашки медленнее? Быстрее?

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

Команда

Параметр

Дйствие

Сокращенная форма

примеры

жди

Время ожидания в долях секунды

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

-

жди 1

Упражнение 9

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

Упражнение10

«Оживите» нарисованную в графическом редакторе картинку из Упражнения 2. Например, одну черепашку превратите в машину и отправьте в поездку по дороге, а вторую превратите в самолет и заставьте летать по небу. Используйте диалоговое окно черепашек для задания им инструкций.


Тема 2. Работа с меню форм, импорт образа, создание формы

2. 1. Работа с меню форм

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

2. 1. 1. Создание новой формы.

Черепаший гардероб выглядит так:

Справа есть полоса прокрутки для форм. Щелкая на стрелочки вниз и вверх, можно пролистать имеющиеся формы. Помимо уже готовых форм есть и пустые формы. Они обозначены точками. Можно дополнить готовые формы собственными. Для этого щелкните по любой пустой форме два раза мышкой. Откроется диалоговое окно формы. В этом окне имеется еще несколько внутренних окон. Внизу окно с надписью «Имя:». Сюда можно написать, как будет называться новая форма. Если имя не задано, то у формы будет только номер. Номер формы можно узнать, если подвести курсор мышки к этой форме в меню форм и немного задержать его. Тогда появится табличка с именем и номером формы - .

Если имени нет, то в табличке будет написан только номер. Еще одно окно находится над окошком имени. Это окно для рисования будущей формы. Именно на нем надо рисовать новую одежку для черепашек. Для этого можно использовать уже знакомые инструменты из графического редактора, тем более что ЛогоМиры сразу же открывает меню этих инструментов при открытии диалогового окна формы.

При рисовании в окне формы можно заметить, что рисунок состоит из маленьких квадратиков. Эти квадратики называются пикселями. Чем больше пикселей в форме, тем качественней рисунок, тем он «глаже». Стандартное количество пикселей равно 40 по горизонтали на 40 по вертикали (то есть всего 1600). Именно это число можно увидеть в правой части диалогового окна формы. Но с помощью кнопок + и – можно изменить количество пикселей по ширине (горизонтали) или по высоте (вертикали).  При этом надо учесть, что размер рисунка не меняется, меняется только его качество. Немаловажно еще и то, что при увеличении числа пикселей увеличивается и количество памяти для хранения такой формы.

Справа вверху есть еще одно окно. В нем отражается то же самое, что и в большом окне. При стандартном размере (40х40) это окно можно не использовать. А при увеличении количества пикселей все они не помещаются в большое окно. Тогда в маленьком показывается, какую часть общей картинки в данный момент редактируют.

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

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

Кнопка позволяет зеркально отразить рисунок слева направо:

Это может пригодиться тогда, когда ваш герой должен двигаться, например, направо, а в форме голова у него повернута влево. В таких ситуациях можно отредактировать уже готовую форму с помощью этой возможности.

Кнопка служит для поворота рисунка формы на 900. При каждом щелчке ваш рисунок будет поворачиваться на этот угол по часовой стрелке.

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

Упражнение 1

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

Шарик  Грибок   Клубничка Апельсин Виноград

Можно придумать свои игрушки.

В графическом редакторе нарисуйте елку и «нарядите» ее игрушками. Используйте инструмент   для получения отпечатка формы на елке.


2. 1. 2. Копирование форм.

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

Для копирования выберите нужную форму в меню форм, а затем выполните пункт меню РЕДАКТОР-КОПИРУЙ. После выполнения этой команды ничего не изменится, но в буфере обмена появится рисунок формы. Перейдите в любую пустую форму и выполните пункт меню РЕДАКТОР-ВЕРНИ. В пустой форме появится скопированная вами форма. Этот же рисунок можно вставлять в пустые формы сколько угодно раз. Затем можно отредактировать вновь созданную форму.

2. 1. 3. Команда НОВАЯ ФОРМА

Команда «новая форма» служит для превращения черепашки в выбранную форму.

Команда

Параметр

Дйствие

Сокращенная форма

примеры

нов_форма

Имя формы или ее номер

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

нф

Нов_форма “птица1

Нф “пчела2

Нов_форма 9

Нф 11

Замечание: не забывайте команду отделять от параметра пробелом!

Упражнение2

Создайте новую форму флажка и назовите ее флаг1. Скопируйте ее в другую форму и с помощью ластика и карандаша отредактируйте ее, например, так , назовите флаг2.

Для одной из жительниц черепашьей страны в ее диалоговом окне напишите следующую инструкцию: нф “флаг1 жди 2  нф “флаг2 жди 2.

Поставьте переключатель повтора в положение «Много раз» и нажмите ОК.

Что происходит при щелчке мышкой по вашей черепашке?

Упражнение3

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


2. 2. Импорт и экспорт форм

Для создания новых форм можно использовать и  уже готовые картинки. В ЛогоМирах можно импортировать любую картинку в формате BMP, JPEG, GIF, PCX и Targa.

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

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

2. Сохраните ее в формате, который может быть прочитан ЛогоМирами.

3.  Выполните команду загрузи_форму, указав в качестве первого входного параметра имя загружаемого файла с изображением, в в качестве второго параметра – номер формы, в коорую будет загружен указанный рисунок. Например:

загрузи_форму "дракон  16

Другой метод состоит в использовании Буфера обмена Windows. Скопируйте нужный рисунок в прикладной программе, перейдите в ЛогоМиры, откройте меню форм, щелкните по форме которую нужно изменить и выберите команду Копируй в меню Файл.

Аналогично можно и экспортировать формы. Можно сохранить форму черепашки с помощью команды помни_форму. Узнайте номер формы, которую Вы хотите сохранить и в Поле команд напечатайте команду, аналогичную следующей:

помни_форму "луна  1

По этой команде в файл с именем «Луна» запишется рисунок формы номер1.

По умолчанию, ЛогоМиры сохраняют форму в BMP-формате, если Вы хотите сохранить ее в другом формате (из поддерживаемых ЛогоМирами), добавьте расширение к имени файла:

помни_форму "луна.jpg  1

Другой метод состоит в использовании Буфера обмена Windows. Щелкните на форме, выберите команду Копируй в меню Файл, перейдите в графическую программу и вставьте содержимое Буфера обмена.

Итак, мы познакомились со следующими командами:

Команда

Параметр

Дйствие

Сокращенная форма

примеры

загрузи_форму

Имя файла и номер формы

В указанную форму загружается картинка из файла

-

Загрузи_форму “мяч  40

помни_форму

Имя файла и номер формы

Картинка из формы сохраняется в файле

-

Помни_форму “сова 42

Замечание.

Если файл хранится не в папке ЛогоМиров, то надо указывать еще и путь к файлу. Для младших классов (1-4 класс) тему импорт и экспорт форм можно пропустить, т.е. следующее задание можно делать по желанию.

Упражнение 4

На диске-приложении есть маленькие картинки с изображением насекомых. Попытайтесь сделать из них новые формы и использовать для оформления графического проекта на тему «Лето». Чтобы фон рисунка был прозрачным, залейте нужные места форм белой краской. Содержание вашего рисунка – произвольное. Главное требование – использовать приложенные к лекции картинки как формы черепашки. Для того, чтобы не было проблем с поиском файла с картинками, скопируйте присланные вам файлы в папку программы ЛогоМиров.

Нарисуйте свои формы.

Тема 3. Бегунки, кнопки, музыкальные объекты

В прошлой лекции мы учились работать с формами. В этой лекции  мы познакомимся с новыми интересными объектами, которые можно использовать в проектах.

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

3. 1. Бегунки

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

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

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

На рисунке отражены сведения, появляющиеся в диалоговом окне автоматически. Имя «бегунок1» будет присвоено первому по счету появившемуся бегунку, «бегунок2» -второму и т.д.

Пусть, например, мы хотим создать бегунок для скорости черепашки. Зададим самое маленькое значение – 1, а самое большое – 10. Назовем бегунок  «скорость» и щелкнем ОК. На проекте появится бегунок, у которого написано его название и текущее значение.

 

Превратите черепашку в машину, поверните ее в нужном направлении командами пр, лв или нк и напишите в диалоговом окне такие команды: вп скорость жди 1. Установите флажок на отметку «Много раз» и закройте диалоговое окно. Щелкните по машине. Что происходит? Двигайте рычажок бегунка и следите за изменением скорости движения машинки.

Упражнение 1

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

3. 2. Кнопки

Кнопки это всем знакомые объекты. Они есть повсюду – на компьютере, телевизоре, стиральной машине, телефоне… Для чего они нужны? В основном – для того, чтобы выполнить определенные действия: включить или выключить то или иное устройство, ввести символ и так далее.

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

Режим выполнения инструкций может быть однократным ("Один раз") или многократным, когда кнопка как бы "залипает", и выполнение инструкции повторяется до тех пор, пока Вы не щелкните по кнопке еще раз, "отжав" ее.

Для создания кнопки щелкните на инструмент , а затем «растяните» кнопку на проекте. При этом появится диалоговое окно кнопки:

В этом окне есть строка инструкций и переключатель «один раз» и «много раз». То, что написано в строке инструкций будет видно на кнопке.

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

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

Кнопка имеет и еще одно преимущество: ее можно и нажимать, и отжимать. А вот чтобы остановить запущенную вами черепашку, нужно «гоняться» за ней, чтобы щелкнуть мышкой.

Упражнение 2

Создайте любой проект с несколькими движущимися объектами, у которых в диалоговых окнах черепах записаны инструкции движения (можно использовать ранее уже созданный проект по упражнению 1). Для организации кругового движения можно использовать команды вп и пр. Например, вп 2 пр 1, установить флажок «Много раз».

Создайте две кнопки с инструкциями каждая [ включить ] и каждая [выключить].

Нажмите на первую кнопку. Что происходит? Нажмите на вторую кнопку.

3. 3. Музыкальный редактор

В Лого Мирах есть возможность создавать и редактировать свои собственные мелодии.

Для этого нужно открыть меню музыкального редактора с помощью кнопки . Нужно щелкнуть по этой кнопке, а потом – по листу проекта. После этого откроется меню музыкального редактора:

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

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

Мелодия может содержать не более 150 нот. При ее составлении можно использовать сочетания клавиш Ctrl+C и  Ctrl+V  для копирования и вставки выделенных нот. Чтобы прослушать всю мелодию, щелкните на начало мелодии и нажмите кнопку воспроизведения. Если нужно прослушать фрагмент мелодии, выделите его мышкой и нажмите на кнопку воспроизведения.

Для того, чтобы можно было использовать созданную вами мелодию, нужно назвать ее. Имя мелодии должно содержать только одно слово. Если нужно больше одного слова, соединяйте их знаками «-» и « _».

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

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

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

Упражнение 3

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

Тема 4. Работа с текстовыми окнами

4. 1. Создание текстовых окон

Текстовые окна позволяют в среде ЛогоМиров пользоваться текстовым редактором, оформлять свои проекты с помощью текстов. Для того, чтобы у вас на проекте появилось текстовое окно, выберите инструмент , а затем, установив курсор мышки на проекте и зажав левую кнопку, протяните диагональ будущего окна. Появится текстовое окно такого вида:

В это окно уже можно вводить текст. Только перед тем, как это делать, проверьте, мигает ли курсор в окошке. Если нет, щелкните в окно.

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

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

Выберите пункт меню «Текст». Вы увидите, что при нажатии на этот пункт, открывается подменю, состоящее из двух пунктов.

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

Щелкните на кнопку ОК и вы увидите, что шрифт в окне изменился. Чтобы убрать выделение шрифта, щелкните в любое место текстового окна. Теперь попробуйте изменить цвет шрифта. Выделите слова «Красной Шапочке» и щелкните на пункт «текст». Выберите теперь вторую строчку подменю – «Цвет…». Откроется диалоговое окно выбора цвета шрифта.

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

Теперь слова «Красная Шапочка» стали красного цвета. Текст теперь выглядит так:

Сказка о Красной Шапочке.

4. 2. Изменение размеров и местоположения текстового окна.

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

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

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

4. 3. Изменение характеристик текстового окна.

Выберите инструмент и нажмите на текстовое окно.

Появится диалоговое окно текста:

Оно содержит следующие поля: имя окна и переключатели отображения текстового окна – «с именем», «прозрачный» и «видимый». Если убрать галочку с переключателя «видимый», то текстовое окно не будет отображаться на проекте, станет невидимым. Это не значит, что оно исчезнет совсем. Оно останется, только временно станет невидимым. Чтобы опять увидеть окно, нажмите на глаз, и текст появится.

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

Ну а переключатель «прозрачный» служит для того, чтобы делать текстовое окно прозрачным для фона проекта. Это удобно тогда, когда нужно сделать какие-нибудь подписи к картинке. Если выбрать этот режим отображения, то нельзя будет изменить размер окна или дописать туда что-нибудь или исправить. Чтобы перетащить прозрачное окно на другое место, тащите его за середину.

Упражнение 1

Попробуйте поменять характеристики окна и подвигайте его по проекту.

4. 4. Печать содержимого текстового окна.

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

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

Теперь в текстовое окно мы можем написать продолжение сказки. Для этого сделайте окно снова непрозрачным, сотрите написанный там текст и наберите на клавиатуре первое предложение сказки: «Жила – была девочка, и звали ее Красная Шапочка».

4. 5. Использование штампов форм черепашки для оформления проекта.

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

Например, так:

Превратите черепашку в девочку. Отштампуйте написанный в окне текст  на проекте, а затем, установив в нужное место черепашку, и отштампуйте девочку. У вас должно получиться приблизительно так:

Теперь штамп девочки вы можете использовать вместо слов «Красная Шапочка. Например, так:

Упражнение2

Допишите сказку о Красной шапочке, используя штампы текстового окна и форм девочки, волка и бабушки. В качестве форм бабушки и волка можно взять готовые картинки из коллекции клипов MicrosoftWord, а можно нарисовать свои формы.

4. 6. Сохранение рисунка проекта на диске

Для этого служит команда ПОМНИ_РИС.

помни_рис имя-файла  1 параметр

Эта команда сохраняет графическое изображение текущего листа в виде графического файла. Черепашки, кнопки, текстовые окна (даже прозрачные) и другие объекты не являются частью графического изображения. Штампованные формы и тексты, а также надписи являются частью графики. Входной параметр - имя файла (файл запишется в текущую папку). ЛогоМиры поддерживают следующие графические форматы: BMP, GIF, JPEG (расширение jpg), PCX и Targa (расширение TGA).

По умолчанию ЛогоМиры сохраняют рисунок в формате BMP. Если Вы хотите сохранить рисунок в другом формате, то после имени файла укажите расширение:

помни_рис "картинка.jpg

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

Примеры:

помни_рис "картинка

помни_рис "c:\проекты\картинка

помни_рис "картинка.jpg

помни_рис "c:\проекты\картинка.jpg

Если хотя бы один из элементов пути доступа включает пробелы, весь путь нужно заключить в вертикальные скобки:

помни_рис "|c:\проекты\мои рисунки\картинка|.

Упражнение 3

Сохраните сказку о Красной Шапочке на диске в виде графического файла в формате JPG.

Упражнение 4

Сочините свою собственную сказку и оформите ее с помощь форм-иллюстраций.


Тема 5. Работа с несколькими черепашками.

5. 1. Имена черепашек, активные черепашки.

В своих проектах вы уже неоднократно использовали не одну, а сразу несколько черепашек. У каждой из рожденных черепашек обязательно есть имя. Узнать его можно в диалоговом окне (см лекции 1-2). Можно не только узнать имя, но и изменить его. При этом надо не забывать, что имя должно состоять из одного слова. Если слов в имени несколько, например, Кощей Бессмертный, то писать такие имена надо не через пробел, а через подчеркивание: кощей_бессмертный.

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

Упражнение 1

Создайте в проекте несколько новых черепашек. Назовите их так:

  •  светофор
  •  машина
  •  пешеход.

Напишите в поле команд такую строку:

плавно 200 1

Какая черепашка продвинулась вперед?

Щелкните на какую-нибудь не двигавшуюся черепашку. Щелкните на уже набранную вами команду и нажмите enter. Какая черепашка стала двигаться теперь?

Выполняя упражнение 1 вы заметили, что команды выполняет только одна черепашка. Такие черепашки называются активными. Стоит щелкнуть мышкой по какой-нибудь черепашке, как она становится активной. Если вы ни по какой черепашке не щелкали, то активна либо последняя рожденная, либо та, к которой последний раз обращались.

Итак, чтобы сделать черепашку активной, существует несколько способов:

  1.  щелкнуть на нее
  2.  создать ее
  3.  обратиться к черепашке

5. 2. Обращение к черепашкам.

5. 2. 1. Непосредственное обращение

К черепашкам можно обращаться разными способами. Самой простой способ – обратиться также как и к человеку. Например:

машина, вп 200

светофор, нф 29

пешеход, вп 50

Не забудьте поставить запятую после имени черепахи!

Упражнение 2

Попробуйте обращаться к черепашкам из упражнении 1 с различными командами из поля команд.

5. 2. 2. Команда ДЛЯ

Второй способ – использовать команду для.

для черепашка-или-список-черепашек 

Делает активной черепашку. Входным параметром может быть список черепашек.

Например,

для [ч1 ч2 самолет] вп 50

При выполнении этой строчки черепашки с именами ч1, ч2 и самолет продвинутся на 50 шагов вперед. Обратите внимание, что по этой команде не одна черепашка становится активной, а сразу три! И все последующие команды они будут выполнять одновременно.

Упражнение 3

Создайте проект , на котором будут жить 3 черепашки – пчелки. Заставьте с помощью команды для несколько черепашек-пчелок одновременно кружиться на месте.

5. 2. 3. Обращение, не изменяющее активной черепахи

Если надо обратиться к какой-нибудь черепашке, но при этом не нужно менять активную черепашку, то для этого применяют команду скажи. Это все рано что вы передаете команду не непосредственно черепашкам, а просите активную черепашку передать им команды.

скажи исполнители  список-инструкций      2 параметра

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

Примеры:

Пусть на листе есть три черепашки с именами ч1, ч2 и ч3. При этом активна ч1.

скажи [ч1 ч2 ч3] [вп 50 пр 90 вп 50] – все черепашки чертят угол

пр 90 вп 50 пр 90 вп 50  -продолжает строить квадрат только одна черепашка – ч1.

Команда КАЖДАЯ

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

каждая список-инструкций 1 параметр

В этом случае активная черепашка тоже не меняется.

Примеры:

Предположим, что на Вашем листе несколько черепашек.

каждая [нов_форма 12]    все черепашки наденут форму 12

каждая [повтори 4 [вп 50 пр 90]] каждая черепашка нарисует квадрат

О команде повтори см. Лекцию1 для средней группы.

Упражнение 4

В проекте из упражнения3 напишите в поле команд такие строчки:

для [ч1 ч2 ч3] повтори 360 [вп 1 пр 1]

каждая [повтори 360 [вп 1 пр 1]]

выполните эти две строчки. Что черепахи делали в первом случае? Что во втором?

5. 2. Использование процедур

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

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

Первая строка любой процедуры должна содержать слово “это” и имя процедуры. Предпочтительней процедуру назвать одним словом. Нежелательно применять в имени разделители и знаки препинания. Количество знаков в имени тоже лучше ограничить в связи с тем, что при вызове процедуры можно сделать ошибки при написании длинных имен.

Текст процедуры записывается на листе программ  (пункт меню Листы – Программы). Последней строкой в процедуре должна быть строка «конец». Это важно, потому что на листе программ может быть написано много процедур. Признаком окончания процедуры является слово «конец». Все, что написано между строками «конец» и следующей процедурой, начинающейся со слова «это» воспринимается в ЛОГО как комментарий.

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

Зайдите на лист программ и создайте процедуру:

это по_очереди

каждая [повтори 360 [вп 1 пр 1]]

конец

Вернитесь на лист1, создайте кнопку и напишите в диалоговом окне кнопки инструкцию:
по_очереди.

Теперь при нажатии на эту кнопку черепашки будут по очереди кружиться.

Упражнение 5

Создайте процедуру и кнопку для одновременного кружения пчелок (упражнение 3 и 4).

5. 3. Создание ролевого мультфильма

Попробуем применить полученные знания для создания мультфильма.

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

В качестве действующих персонажей у нас будут три черепашки, которых вы уже создавали в упражнении 1.

Светофор это черепашка, которая будет менять сигнал, когда машина подъедет к переходу. Машина будет ехать по дороге, потом остановится на светофоре, подождет, когда зажжется нужный сигнал и поедет дальше. Пешеход – человек или животное, который будет переходить через дорогу, пока машина стоит на светофоре.

  

    

На картинках показаны основные моменты будущего мультика.

Весь сюжет разобьем на этапы.

1 этап.

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

Команда НОВ_МЕСТО

нов_место (нм) [x y]  1 параметр

Перемещает черепашку в точку с координатами [x y]. Координаты центра листа - [0 0]. Одна единица это один шажок черепашки.

Стандартный размер проекта равен 744 на 426 пикселей (шажков) при разрешении 800 х 600 и 592 на 322 пикселей при разрешении 640 на 480. На рисунке показаны крайние координаты черепашек в стандартном варианте.

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

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

машина, пп нм[-372 -40] нк 90

пешеход, пп нм[370 -100] нк 270

Для того, чтобы пешеход действительно шел, а не летел по воздуху, надо с помощью команды Новая_форма задать, какие формы надо менять придвижении. Тогда при выполнении каждой команды движения форма будет циклически меняться. Это можно организовать так:

пешеход, нф [42 43 44]             (если формы для пешехода имеют номера 42, 43, 44)

Теперь можно отправлять героев в небольшое путешествие одновременно (см. команду для). Оформите процедуру этап1 движения пешехода и машины и подберите в ней количество шагов черепашек до перекрестка.

Этап 2

На этом этапе светофор должен «переключиться» на желтый свет, а через какое-то время – на красный, а пешеход  - продолжить движение уже в другом направлении, т.е. перейти через дорогу.

Для того, чтобы светофор «переключался», воспользуйтесь несколькими его формами. Например, такими:

команды для светофора:

светофор, нф 14 жди 10 нф 13

(если формы для светофора имеют номера 13, 14, 15)

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

пешеход, нк 340     (см. Лекцию 1)

А теперь можно переходить через дорогу. Например, так:

повтори 33[вп 5 жди 1]

Оформите эту часть сценария в виде отдельной процедуры с названием этап2.

Этап 3

На этом этапе пешеход должен уйти по другой стороне дороги, а машина поехать дальше. Но прежде чем ехать машине, светофор должен переключиться на зеленый свет (см. этап 2), а пешеход опять повернуться параллельно дороге (нк 270).

Движение пешехода и машины можно организовать так же как на 1 этапе. Оформите заключительное действие нашего мультфильма в процедуре этап3.

Заключительный этап

Он состоит с сборке готовых сцен и создании кнопки на проекте. Создайте процедуру с именем «мультик». Например, такую:

это мультик

этап1

этап2

этап3

конец

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

Дополнительное задание (выполняется по желанию):

Добавьте еще одну черепаху, которая будет играть роль светофора для пешехода. Этот светофор должен переключаться синхронно со светофором для машин. Расположите этот светофор на той стороне дороги, куда должен перейти пешеход.


Глава 2. Лекции для среднего уровня подготовки.

Тема 1. Управление объектами с помощью программ

Лекции для средней группы рассчитаны на то, что дети уже знакомы с основами работы в среде ЛОГОМИРЫ, умеют работать с графикой, умеют обращаться  с черепахами.

Мы будем рассматривать не все объекты среды ЛОГО. В основном лекции для средней группы коснуться управления черепашками и проектами.

1. 1. Управление черепашками

Как и в любой другой области программирования основной структурной единицей программы является команда. Команды адресуются черепашкам. Чтобы указать исполнителя команд, можно использовать такое же обращение, как и в русском языке – имя с запятой, поэтому для того, чтобы можно было к черепахе обратиться, каждая черепашка имеет имя. При рождении черепашки получают стандартные имена – ч1, ч2, ч3…, но при желании это имя можно изменить в диалоговом окне черепахи. Для этого надо щелкнуть по кнопке  в меню инструментов, а затем по черепашке. При этом откроется диалоговое окно черепашки, содержащее поля ИМЯ и ИНСТРУКЦИЯ. В поле ИНСТРУКЦИЯ можно написать любой набор команд, которые черепашка немедленно начнет выполнять, если по ней щелкнуть. В поле ИМЯ можно написать любое новое имя, но нужно учесть, что все черепашки должны иметь разные имена. Еще одно замечание касается имен, состоящих из двух и более слов. Для того, чтобы к таким черепашкам можно было обращаться, имя должно быть написано в одно слово, например,

Иван-Царевич, баба_яга и т.д.

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

ч1, стань_главной.

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

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

1. 1. 1. Поле команд.

Открывается при загрузке проекта ЛОГО МИРОВ, либо при нажатии на пиктограмму  .

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

1. 1. 2. Лист программ

Поле команд можно использовать для отладки какого-либо запрограммированного действия. Все, что там написано, исчезает при сохранении проекта. Настоящие программы пишут на листе программ. Чтобы попасть на этот лист, надо выбрать пункт «Листы» «Программы» или нажать сочетание клавиш Ctrl+F.

1. 2. Описание основных команд языка ЛОГО.

1. 2. 1. Команды движения

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

Почти у всех команд есть параметры. Это числа, которые уточняют последующие действия черепашки. Так и у команды «вперед» есть параметр. Он означает, сколько шажков должна сделать черепашка. Так как ножки у черепашки очень коротенькие, то 10 шажков черепашки это приблизительно одна клеточка школьной тетради. Вот как выглядит, например, команда, которая заставит черепашку прошагать 100 шажков:

вперед 100

Чтобы не писать длинные слова, команды можно сокращать. Так, команду вперед можно сократить до двух букв – вп. Таким образом, чтобы отправить черепашку в короткое путешествие, достаточно дать ей команду вп 100.

Аналогичная команда заставляет черепашку пятиться назад: назад 100 или в сокращенной форме -  нд 100.

1. 2. 2. Команды поворотов

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

Команда

Параметр

Действие

Сокращенная форма

примеры

направо

Количество градусов

Черепашка попорачивается направо относительно текущего состояния на указанное количество градусов

пр

направо 45

пр 90

налево

Количество градусов

Черепашка попорачивается налево относительно текущего состояния на указанное количество градусов

лв

налево 90

лв 60

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

Команда

Параметр

Действие

Сокращенная форма

примеры

нов_курс

Количество градусов, отсчитываемых от нулевого положения черепахи головой вверх по часовой стрелке:

Черепашка попорачивается  в соответствии с указанным направлением

нк

нов_курс 90

нк 225

1. 2. 3. Команды пера черепахи

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

Команда

Параметр

Действие

Сокращенная форма

примеры

по

нет

Черепашка «опускает перо». После этой команды, куда бы она не двигалась, будет оставлять след.

по

пп

нет

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

пп

Цвет пера черепашки при открытии нового проекта устанавливается черным (номер 9), а толщина равна 1 (самое тонкое перо). Эти характеристики пера можно поменять описанными ниже командами:

Команда

Параметр

Действие

Сокращенная форма

примеры

нов_размер_пера

Размер пера в условных единицах. Самый маленький размер равен 1, самый большой 100.

Черепашка меняет свое перо в соответствии с указанным размером

нрп

нрп 5

нов_цвет

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

Цвет пера черепашки меняется на указанный

нц

нов_цвет 15

нц “красный

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

1. 3. Процедуры

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

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

Первая строка любой процедуры должна содержать слово “это” и имя процедуры. Предпочтительней процедуру называть одним словом. Нежелательно применять в имени разделители и знаки препинания. Количество знаков в имени тоже лучше ограничить в связи с тем, что при вызове процедуры можно сделать ошибки при написании длинных имен. Итак, предлагается начать знакомство с темой написанием процедуры рисования правильной фигуры, например, квадрата.

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

Для того, чтобы написать простейшую процедуру (программу) изучим еще одну команду. Это команда, заставляет черепашку повторять то или иное действие какое-то количество раз. Таким образом, это примитив (команда) реализует циклическую структуру алгоритма.

Команда

Параметр

Действие

Сокращенная форма

примеры

повтори  к [действия]

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

Черепашка повторяет те действия, которые указаны в скобках

повтори 100 [вп 1 жди 1]

черепашка будет медленно двигаться 100 шагов (жди это пауза в действиях)

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

Примерный текст процедуры квадрата следующий:

это квадрат

по

повтори 4[ вп 60 пр 90]

конец

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

кв

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

Упражнение 1

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

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

1. 3. 1. Использование процедур в процедурах

Созданные пользователем процедуры используются также, как и обычные команды для черепашек. Попробуем, например, использовать созданную ранее процедуру для рисования узора:

Этот узор составлен из шести квадратов, повернутых относительно друг друга на 600. Текст программы узора может быть таким:

это узор

нрп 4 нц 25 по

повтори 6[квадрат пр 60]

конец

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

Упражнение 2

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

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

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

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

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

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

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

*********************************************

это кв :д

по

повтори 4[ вп :д пр 90]

конец

*********************************************

это тр :д

по

повтори 3[вп :д пр 120]

конец

*********************************************

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

кв 100

При выполнении этой команды параметру присваивается значение, равное 100 и выполняется процедура с этим значением параметра.

Упражнение 1

Попробуйте нарисовать подобную картинку с помощью созданной вами процедуры с параметром для рисования квадратов. Используйте команды нц и нрп для задания цвета и толщины линии. Оформите отдельную процедуру для рисования этой картинки на листе программ. Создайте кнопку на своем проекте с помощью инструмента . Для этого выберите этот инструмент и растяните на проекте прямоугольник, определяющий размер и положение будущей кнопки. Откройте диалоговое окно кнопки с помощью инструмента (нажмите на глаз, а затем на кнопку) и введите в окно команд название созданной вами процедуры для рисования узора. После этого подтвердите ввод, нажав кнопку ОК.

Теперь при нажатии на эту кнопку активная черепашка будет рисовать узор.

Аналогичную кнопку сделайте для похожего узора из треугольников.

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

Примерный вид вашего проекта:

2. 1. Пример применения процедур с параметрами

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


2. 1. 2. Команда «КРАСЬ»

Команда

Параметр

Действие

Сокр. форма

примеры

крась

нет

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

по

повтори 4 [вп 40 пр 90]

пп вп 5 пр 90 вп 5

крась

По этим командам нарисуется квадрат, а потом закрасится его внутренность.

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

это кв :д :ц  заголовок с определением двух параметров (длина стороны и цвет)
нц :ц   
смена цвета пера черепашки
по повтори 4 [вп :д пр 90]  
рисование квадрата со стороной :д

пп вп 2 пр 90 вп 2   переход черепашки с поднятым пером внутрь квадрата

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

нд 2 лв 90 нд 2   обратный переход в угол квадрата

конец     окончание процедуры

Процедуру для закрашенного треугольника напишите сами по аналогии.

Замечание. Переход во внутреннюю область квадрата или треугольника зависит от размера фигуры и толщины пера черепашки. Если перо толстое (больше 2), то надо проходить больше шажков, чтобы попасть внутрь, иначе можно «застрять» на границе. Приведенный в примере способ закраски подразумевал, что толщина пера равна 1.

Упражнение 2

С помощью процедур для закрашенного квадрата и треугольника составьте процедуру для рисования домика. Вызов этой процедуры вставьте в кнопку. Саму процедуру назовите ДОМ. Размеры домика – произвольные.

Упражнение 3

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

2. 2. Рисуем правильные многоугольники

Научим черепашку рисовать любые правильные многоугольники.

Многоугольник называется правильным, если все его стороны и углы равны.

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

угол = 360 / количество сторон

В качестве примера можно рассмотреть правильный шестиугольник. Угол поворота черепахи для него равен: 360/6=60. Его можно нарисовать такой командой:

повтори 6[вп 50 пр 60]

Создадим процедуру построения произвольного правильного многоугольника. Обозначим  за к количество сторон, д –длину стороны, ц –цвет пера черепашки. Тогда процедура будет выглядеть следующим образом:

это мн :к :д :ц

нц :к по

повтори :к[вп :д пр 360 / :к]

конец

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

мн 5 30 115

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

мн 30 5 115    -  параметры переставлены местами;

мн :к :д :ц   - вместо числовых значений указаны имена параметров;

это мн 5 30 115   - помимо названия процедуры указано слово “это”.

Упражнение 4

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

2. 3. Датчик случайных величин

Случайная величина это такая переменная, о которой нельзя наверняка сказать, чему она равна. Можно только приблизительно оценить ее значение.

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

Для получения случайной величины со значениями из отрезка [0;k] применяется команда сл k. Чтобы получить случайную величину из отрезка [a;b], нужно составить выражение : a + сл b-a.

Например, пусть мы хотим случайно выбрать цвет рисования. Если посмотреть на номера цветов в графическом редакторе, то можно заметить, что их номера меняются от5 (серый) до 135 (алый) с шагом 10. Это значит, что самое маленькое значение цвета для нас будет 5. Чтобы получить все остальные цвета, надо умножить на 10 некую случайную величину со значениями от 0 до 13 и прибавить ее к 5. Вот как будет выглядеть команда случайного выбора цвета:

нц 5 + 10 * сл 13

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

Чтобы черепашка правильно воспринимала команды, не забудьте вводить пробелы впереди и после знаков арифметических операций - + (сложить) и * (умножить).

Упражнение 4

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

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

Упражнение 5

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

О задании цвета мы уже говорили выше. Длина лучей снежинки не должна быть слишком большой. Ограничим ее 40 шагами черепахи. В то же время, слишком маленькую снежинку можно принять за точку, поэтому пусть длина луча будет не меньше 10 шагов. Выражение для длины : 10 + сл 30 .

Количество лучей у снежинки тоже не может быть слишком маленьким. Снежинки менее чем с 4 лучами не очень красивые. Пусть количество лучей будет от 5 до 15. Выражение для этой величины: 5 + сл 10.

Прежде чем рисовать снег, составьте процедуру рисования одной снежинки по аналогии с процедурой многоугольника. Назовите ее снежинка. Используйте три параметра : к - количество лучей, д - длина луча, ц - цвет снежинки.

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

это снег

повтори 200[снежинка 5 + сл 10 10 + сл 30 5 + 10 * сл 13

пп пр 10 + сл 350 вп 10 + сл 200]

конец

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

Вот пример картинки со снегом из 300 снежинок, толщина пера –2.

Тема 3. Рекурсивные процедуры

3. 1. Введение

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

У попа была собака, он ее любил.

Она съела кусок мяса, он ее убил!

В землю закопал, на табличке написал:

У попа была собака, он ее любил.

Она съела кусок мяса, он ее убил!

В землю закопал, на табличке написал:

Или песенка о царе:

Жил был царь,

У царя был двор,

На дворе – мочало,

Начинай сказывать сначала.

Жил был царь,

У царя был двор,

На дворе – мочало,

Начинай сказывать сначала.

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

3. 2. Понятие рекурсивной процедуры

Так что же такое рекурсивные процедуры?

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

Что же получится, если в процедуре записать обращение к самой себе? Чтобы выполнить этот вызов, компьютер ищет в своей памяти процедуру с указанным именем и запускает ее копию. Причем переменные, значения которых передаются в копию процедуры, - "свои" и отличаются от тех, что были в первой копии процедуры. Эта идея создания копий остается справедливой и для всех последующих рекурсивных вызовов.

Упражнение 1. 

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

это квадрат :а

по

повтори 4 [вп :а пр 90]

конец

При вызове этой процедуры, например в таком виде: квадрат 100, черепашка нарисует квадрат со стороной 100 шажков.

Теперь попробуем превратить эту процедуру в рекурсивную.  Вставим вызов этой же процедуры в конец нашей программы:

это квадрат :а

по

повтори 4 [вп :а пр 90]

квадрат :а

конец

Тогда вызов процедуры квадрат 200 заставит черепашку рисовать квадрат бесконечно, пока мы не остановим выполнение процедуры нажатием клавиш Ctrl+Break.

Упражнение 2

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

квадрат :а - 5

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

 

Чтобы проследить процесс выполнения такой процедуры, замените команду вп :а командой плавно :а 1. По этой команде черепашка будет тоже двигаться вперед, но со скоростью 1 шаг и вы увидите процесс более подробно. Как только сторона квадрата станет отрицательной, черепашка начнет двигаться уже не вперед, а назад, и получится симметричный рисунок расширяющихся квадратов. Не забудьте нажать Ctrl+Break, чтобы остановить черепашку.

3. 3. Управляемая рекурсия

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

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

Команда

Краткая форма

выполняется

пример

если условие [действия]

-

Проверяется условие. Если оно верное, то выполняются указанные действия.

если цп = 105 [нц 115]

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

если_иначе условие [действия1] [действия2]

-

Проверяется условие. Если оно верное, то выполняются действия1, а если нет, то действия2.

если_иначе цп = 105

[вп 100]

[нд 100]

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

Упражнение 3

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

если :а < -200 [стоп]

3. 3. 1. Примеры управляемых рекурсий

Пример 1

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

это кв :а

по

если :а < -200 [стоп]

повтори 4 [плавно :а 1 пр 90] пр 1

кв :а - 5

конец

Получится довольно милая картинка:

Пример 2

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

это спир :а

если :а < 2 [стоп]

вп :а пр 90

спир :а - 5

конец

Упражнение 4

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

Упражнение 5

Косвенная рекурсия

Пусть нам нужно сначала нарисовать спираль, а потом ее стереть. Рисовать спираль мы уже умеем. Чтобы стереть спираль, надо изменить цвет пера черепашки командой нц на цвет фона. Если вы рисуете на белом фоне, то это сделает команда нц 0.

В процедуре стирания спирали нужно пройти по спирали в другую сторону, т.е. не уменьшать, а увеличивать длину звена спирали. Не забудьте повернуть черепашку еще раз на 90 градусов перед организацией стирания. Учтите, что в обратной спирали нужно поворачиваться налево, а не направо, как в прямой.

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

3. 4. Управление черепашкой с клавиатуры

В среде ЛОГО можно создавать очень интересные интерактивные проекты. Один из них – собственный графический редактор, управляемый клавишами.

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

Команда

Краткая форма

выполняется

пример

пусть “имя переменной значение

-

Переменной присваивается указанное значение.

пусть “число 5

переменной с именем число присвоится значение 5

жди_символ

-

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

пусть "ответ жди_символ

покажи :ответ

в поле команд появится символ нажатой клавиши.

Пусть клавишей «п» черепашка будет поворачивать направо на 90 градусов, клавишей «в» - двигаться вперед на 20 шагов, клавишей «л» - поворачивать на 90 градусов влево. Тогда примерная схема простейшего клавиатурного редактора может выглядеть так:

это рисование

пусть "к жди_символ

если :к = "в [вп 20]

если :к = "п [пр 90]

если :к = "л [лв 90]

рисование

конец

Упражнение 6

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

Для выхода из редактора предусмотрите кнопку «стоп».

Создайте с помощью своего редактора какой-нибудь рисунок.

Литература.

  •  http://school.ort.spb.ru/(Eng)/library/recurs/ 
  •  С.И. Горлицкая, И.Н. Кузнецова. Думаем и исследуем на Лого. Информатика (приложение к Первому Сентября), NN 39,44 1996г.
  •  С.И. Горлицкая, И.Н. Кузнецова. Думаем на Лого. Новые технологии в образовании. Санкт-Петербург, 1993г.
  •  А.Г.Юдина. Практикум по информатике в среде LogoWriter. Информатика (приложение к Первому Сентября), NN 35,36 1997г.
  •  Brian Harvey. Computer Science Logo Style. The MIT Press Massachusetts Institute of Technology, 1997.
  •  Rachel R. Avery. Logo and the Apple. Prentice-Hall, Inc., Englewood Cliffs, New Jersey 07632.

Тема 4. Разработка многомодульных программ

4. 1. Принцип модульности

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

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

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

4. 2. Этапы решения сложных задач

При решении сложных задач возникает потребность поэтапного решения.

1 этап

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

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

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

Ясно, что решить сразу эту задачу довольно сложно. Разобьем ее на более простые.

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

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

Таким образом, структура программы будет выглядеть так:

2 этап

Разработка блок-схемы алгоритмов, определение параметров процедур.

О построении многоугольников и дома мы уже говорили в предыдущих лекциях, поэтому не буду подробно останавливаться на этом. Блок-схемы будут выглядеть приблизительно так:

Блок-схема процедуры для создания произвольного многоугольника.

Параметры: д –длина стороны; к – количество сторон; ц – цвет рисования.

Блок-схема построения дома

Параметры: д – длина стен дома; цд – цвет стен домика; цк– цвет крыши, цо – цвет окна.

Блок-схема строительства улицы

Этот модуль использует первые два. Прежде, чем строить улицу, необходимо рассчитать размер домиков. Если исходить из стандартного размера проекта, то он составляет приблизительно 740 шажка черепахи по горизонтали. Значит, размер домиков и расстояние между ними можно рассчитать так:

740/ количество домов – такое кол-во шагов приходится на 1 дом и интервал между ними. Если на интервал между домиками отводить половину длины стен дома, то размер стен дома равен 2/3 от полученного количества шагов на 1 дом. Т.е. – 740/кол-во домов/3*2. Конечно, количество домиков не должно быть очень большим. Например, если пользователь захочет нарисовать 100 домиков, то размер одного дома будет равен приблизительно 5 шажков черепахи. Разглядеть такой домик трудно, да и программа закраски многоугольников будут работать неправильно для таких размеров домов. Поэтому количество домиков на улице лучше задавать не более 50. Лучше ограничить и количество домиков снизу. Один домик это еще не улица. Давайте будем считать улицей только подряд стоящие 4 и более домов.

Расчет размеров дома производится исходя из количества домиков. Задать это количество должен иметь возможность пользователь. Для этого можно воспользоваться командой спроси.

Команда спроси

спроси слово-или-список  1 параметр

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

Пример

спроси [сколько вам лет?] – появится диалоговое окно и ЛогоМиры будут ждать ответ пользователя

покажи ответ – ответ пользователя появится в поле команд

12

Итак, блок-схема будет выглядеть приблизительно так:

3 этап

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

Упражнение 1

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

Приблизительный вид проекта: показан на рисунке.

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

Упражнение 2

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


Тема 5. Внедрение мультимедийных объектов, синхронизация процессов.

Современная компьютерная техника имеет богатые возможности по применению, хранению и обработке звуковой, графической и видео информации. Было бы обидно не иметь возможности использовать такую информацию в проектах ЛОГО. Внедрить мультимедийные объекты в проекты довольно просто. При этом проект приобретает новые краски и свойства.

5. 1. Внедрение музыки и звука.

Чтобы импортировать звук или музыку в проект выберите команду Возьми - Звук или Возьми – Музыка в меню Файл.

Откроется диалоговое окно импорта звука или музыки, в котором нужно указать где находится звуковой или музыкальный файл. В этом диалоговом окне можно увидеть только звуковые файлы (файлы с расширением .WAV) или музыкальные файлы (файлы с расширением .MID). Выберите нужный и щелкните на "Открыть".

На листе проекта появится картинка, например, такая (музыка) или такая (звук).

Щелчок на картинке запустит звук или музыку, повторный щелчок - его остановит. Теперь можно напечатать имя импортированного звука или музыки в Поле команд, в качестве инструкции кнопке или использовать в процедуре.

Звук или музыка может сопровождать движение черепашки, например:

ч1, всегда [вп 1] блюз

ч2, всегда [вп 1 пр 1] болото

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

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

  1.  создают картинку звука или музыки в проекте:
  2.  запоминают связь между картинкой в проекте и звуковым или музыкальным файлом на жестком диске компьютера.

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

Если Вы переносите проект ЛогоМиров, содержащий связь со звуковым или музыкальным файлом на другой компьютер, то нужно перенести и сам файл-источник.

Если на вашем компьютере установлена полная версия ЛогоМиров, то в папке «Мультимедиа», можно найти папку «Звуки». Она содержит файлы и с расширением WAV и с расширением MID.

Упражнение 1

Импортируйте в свой проект музыкальный и звуковой файл. Если у вас установлена полная версия ЛогоМитров, то звуки и музыку можно выбрать любые из коллекции «Звуки», если же версия не полная, то воспользуйтесь звуковыми файлами, которые будут приложены к лекции.

5. 2. Синхронизация процессов.

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

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

это фокус

всегда [танец]

запусти [музыка]

жди_пока [готово? [музыка]]

отмени [танец]

конец

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

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

Пусть, например, есть две похожие формы:

( о редактировании форм см. лекцию2 для младшей группы). Тогда танец получится при выполнении такой строки:

повтори 10[нф 45 жди 2 нф 46 жди 2], если у этих форм номера 45 и 46.

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

это танец

нф 45 жди 2 нф 46 жди 2

конец

Команда всегда [танец] заставит девочку танцевать бесконечно

А вот команда запусти [музыка] завершится, как только завершится процедура музыка. Но, прочитав команду запусти, система немедленно приступает к выполнению следующей инструкции - жди_пока... и ждет, пока готово? [музыка] не сообщит да. После этого система переходит к следующей инструкции, останавливающей танец. Процесс музыка не нужно останавливать - он закончится сам по себе. Для того чтобы не было недоразумений, нужно следить за параметрами команд всегда и отмени. Эти параметры должны совпадать.

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

нов_форма [собака1 собака2]

повтори 100 [вп 5 жди 1]

заставят собаку бежать.

Упражнение 2

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

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

5. 3. Запись звука

В ЛогоМирах можно записать и собственные звуки.

Если к Вашему компьютеру присоединен микрофон, то Вы можете записать звуковое сопровождение к проекту или собственный голос и проигрывать его по команде. Каждая новая запись создает отдельный звуковой файл.

Для записи звука выберите и щелкните на лист проекта. Откроется диалоговое окно записи звука.

Щелкните на для начала записи звука. Длительность записи зависит от наличия свободного места на жестком диске (10 секунд записи требуют 100 Кбайт дискового пространства).

Щелкните на для остановки записи. Для прослушивания записи, щелкните на кнопку . Если запись Вас не устроила, щелкните на кнопку еще раз.

Щелкните на ОК. Откроется диалоговое окно сохранения звукового файла.

Дайте имя Вашей записи и щелкните на ОК. Если Вы хотите использовать имя звука как команду, то давайте звукам однословные имена. Имя создаваемого вами звукового файла должно быть короче 32 символов.

Звуковой файл не загружается в ваш проект, ЛогоМиры создают картинку звука в проекте и запоминают связь между картинкой и звуковым файлом на жестком диске компьютера.

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

Когда закрывается диалоговое окно записи звука, картинка записи остается на листе . Для воспроизведения записи достаточно щелкнуть на картинке или написать имя звука в Поле команд.

Упражнение 3

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


Меню форм

0

90

180

270

45

135

225

315

0

90

180

270

45

135

225

315

Пример программы

это голова

кв 40 115 пп вп 10 пр 90 вп 10 лв 90

кв 20 125 пп пр 90 вп 60 лв 90

кв 20 125 пп нд 10 лв 90 вп 10 пр 90

кв 40 115 пп пр 90 нд 10 пр 60 правый глаз и переход к носу

тр 20 105 пп вп 40 пр 60 нос и переход ко рту

тр 40 15 пп вп 50 пр 60 вп 60 пр 90 рот и переход к голове

кв 130 25 голова

конец

Рисуем левый глаз

Переходим к «зрачку»

Рисуем «зрачок»

Переходим к правому «зрачку»

Правый зрачок

Переход к глазу

Рисование снежинки

Переход к следующей снежинке

Рисующие руки. Рисунок М.Эшера

Основной модуль – сборка улицы

Построение многоугольников

Строительство дома

Повторять к раз

Установка цвета пера

Нарисовать линию длинной д шажков

Повернуть черепашку направо на 360/к градусов

Пройти вперед на 2 шага

Поднять перо

Повернуть на 90 градусов направо

Пройти вперед на 2 шага

красить

Назад на два шага

Налево на 90 градусов

Назад на 2 шага

начало

конец

Заливка цветом

начало

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

Переход к крыше с поднятым пером, т.е. вперед на д шагов, а затем поворот на 30 градусов направо.

Рисование крыши – треугольника (с помощью процедуры рисования многоугольника)

Переход с поднятым пером к окошку: налево 30 градусов, назад д/4 шажков, направо90 градусов, вперед д/4 шажков.

Рисование окошка – квадрата с длиной стороны д/2 с помощью процедуры многоугольника

конец

начало

Расчет размеров дома

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

Опрос пользователя о количестве домов кд

Рисование дома

Повторить кд раз

Переход к следующему домику

конец

(0,0)

(372,0)

(0,213)

(-372,0)

(0,-213)

(372,-213)

(-372,213)

(-372,-213)

(372,213)




1. Авізо офіційне повідомлення про здійснення операції зарахування списання коштів переказу грошей
2. Тема 14 33 ЧЕЛОВЕК В СИСТЕМЕ МЕНЕДЖМЕНТА
3. Тема 56. Створення публікацій для навчальнонаукового проекту
4. Маркетинг как философия и методология современного предпринимательства
5. Тема Виды работ выполняемые обучающимся Отметка о выполнении 1 Оц
6. О вере в науку
7. Научнотехнический прогресс его сущность и виды 4 1
8. Эллинизация Египта 2
9. ЛАБОРАТОРНАЯ РАБОТА 1 Тема 1
10. лекциях prefll встречаются вещи в дизайне которых совмещено четыре пять и более оттенков и все они серые
11. Но противоположность истине обладает сотней тысяч обличий и не имеет пределов
12. Для обозначения непосредственной социальной среды обитания используется понятие социальной общности груп
13. психоаналитик супервизор и тренинговый аналитик Европейской Конфедерации Психоаналитической Психотерап
14. Лабораторная работа 6 Тема- Создание запросов средствами языка SQL в MS ccess Цель- Для построения запросов
15. УДМТ И
16. Огород в городе или ОГО как культурная площадка для социально значимых проектов СУЩЕСТВУЕТ по адресу- г
17. Организационный момент
18. тематизированные сведения о лекарственных веществах содержатся в егип
19. Тема- Електричний струм в напівпровідниках
20. і Розширення підтримання належного функціонального стану і раціональне використання основних засобів знач