Введение
Герой нашей исследовательской работы черепашка–паучок.
Живет он в среде программирования ЛогоМиры, или, по-английски, MicroWorlds
([мáйкроуóлдз] - МикроМиры). Общаться с ним мы можем на языке программирования
Лого. Название Лого образовано от древнегреческого слова «logos»,
что означает «мысль», «слово». Этот язык включает в себя множество
разнообразных команд, позволяющих рисовать, решать вычислительные задачи,
создавать мультфильмы и делать многое другое.
Английское название среды как нельзя лучше отражает ее
возможности: в ЛогоМирах есть встроенный графический редактор для красочного
оформления микромира, музыкальный редактор и список звуков для его озвучивания,
«гардероб» с разнообразными «костюмами» для черепашек.
ЛогоМиры позволяет создавать объекты с заданными
свойствами (линии, прямоугольники, эллипсы определенного цвета и размера) и
производить над ними различные действия при помощи мыши, например, копировать и
перемещать. В отличие от графического редактора Paint в этой программе
есть объекты, которые могут «сами» производить некоторые действия
(перемещаться, поворачиваться), а также менять свои свойства (например, форму,
размеры, цвет). Эти объекты – черепашки. Конечно, все их действия и превращения
происходят не без участия человека. Именно он направляет черепашек, командует
ими.
Цель нашей исследовательской работы выяснить можно ли
с помощью языка программирования Лого получить изображения, не уступающие по
красоте и сложности, создаваемым в графическом редакторе, и используя только
одну Черепашку создать художественный сюжет.
Полученные программы можно применять не только для
рисования, но для задания траектории движения черепашки.
Подготовительная работа
На уроках информатики мы выяснили, что рабочее поле
имеет размер 745 шагов с запада на восток и 425 шагов с севера на юг (1 шаг
равен 1 пикселю). Так же выучили следующие слова-команды языка Лого: вперед
(вп), назад, перо опусти (по), перо подними (пп), сотри графику (сг), домой,
направо (пр), налево (лв), жди, это, конец, нов_курс (нк), нов_форма, нов_цвет
(нц), нов_размер, нов_размер_пера, повтори, покажи, случайный (сл). Научились
составлять и оформлять программы линейной и циклической алгоритмической
конструкций.
Для успешной работы над проектом мы ознакомились с
дополнительной литературой и пополнили свой запас новыми словами Лого. Все
слова мы свели в таблицу приложения 1. Также нами была составлена таблица
соответствия числа и цвета. Познакомились с понятиями процедуры и программного
модуля, формального и фактического параметра, переменной. Теперь зная язык
обитателей ЛогоМиров, мы можем приступить к работе.
Создание Паучка
Для своего героя – паучка мы создали три новых формы
(13, 14, 15) с разным расположением лапок, в которые и «переодеваем» поочередно
черепашку.
В Личной карточке черепашки записали:
нов_форма 13 жди 1 нов_форма 14 жди 1
нов_форма 15 жди 1
и установили переключатель на «Много раз».
Паучок может теперь шевелить лапками, а значит и
«передвигаться». Следовательно, наш герой готов к работе – созданию
неповторимой паутины.
Рисование фигур
Все изображения находятся в приложении 3.
Параметры
а - длина стороны
квадрата
Процедура
это квадрат а
повтори 4 [вп :а пр 90 жди 1]
конец
Программный модуль
по квадрат 50 пп
Параметры
к - количество квадратов
ц - номер первоначального
цвета
й - число на которое
увеличивается номер цвета
Процедура
это узор_квадрат а к ц й
повтори :к [нов_цвет :ц квадрат :а пр
360 / :к пусть "ц :ц + :й жди 1]
конец
Программный модуль
по узор_квадрат 40 5 64 1 пп
{рисунок 1}
по узор_квадрат 40 180 9 2 пп
{рисунок 2}
по узор_квадрат 80 20 7 10 пп
{рисунок 3}
Параметры
б – количество сторон
круга (дуги)
ф - число на которое увеличивается
сторона круга
Процедуры
это круг б
повтори :б[вп 1 пр 360 / :б]
конец
это цветок б к ц й
повтори :к[нов_цвет :ц круг :б пр
360 / :к пусть "ц :ц + :й жди 1]
конец
это круг_л б ц
нов_цвет :ц повтори :б[вп 1 лв 360 /
:б]
конец
это круг_п б ц
нов_цвет :ц повтори :б[вп 1 пр 360 /
:б]
конец
это бусы б к ц й
повтори :к[нов_цвет :ц круг :б пр
360 / :к пусть "ц :ц + :й жди 1 пп вп 10 по]
конец
это тоннель б ф к ц й
повтори :к[нов_цвет :ц круг :б пусть
"ц :ц + :й жди 1 пусть "б :б + :ф]
конец
это бабочка1 б ф к ц й
повтори :к[нов_цвет :ц круг_л :б :ц
круг_п :б :ц пусть "ц :ц + :й жди 1 пусть "б :б + :ф]
конец
Программный модуль
цветок
по цветок 150 7 12 1 пп {рисунок 4}
шар
по цветок 150 17 12 1 пп {рисунок 5}
бабочка
по круг_л 50 15 круг_л 100 105
круг_л 150 65 круг_п 50 15 круг_п 100 105 круг_п 150 65 пп {рисунок 6}
бусы
по бусы 50 10 100 1 пп {рисунок 7}
тоннель
по тоннель 50 15 20 8 5 пп {рисунок 8}
цветок с серединой
по нов_размер_пера 3 цветок 150 17 12 1
пп вп 10 пр 95 по нов_цвет 45 нов_размер_пера 15 круг 50 пп {рисунок 9}
бабочка1
по бабочка1 5 10 20 8 5 пп {рисунок 10}
Процедуры
это дуга б
повтори :б[вп 1 лв 1]
конец
это листик б ц
нов_цвет :ц дуга
:б лв 90 дуга :б лв 90
конец
это цветок1 к ц
повтори :к [листик
90 :ц лв 360 / :к жди 1]
конец
это цветок2 к ц й
повтори :к [листик
90 :ц лв 360 / :к пусть "ц :ц + :й жди
1]
конец
это листик1 ц
нов_цвет :ц дуга 90 лв
90 дуга 90 лв 100 дуга 70 лв 110 дуга 70 лв 120 дуга 50 лв 130 дуга 50 лв 140 дуга
30 лв 150 дуга 30 лв 120
конец
это цветок3 к ц й
повтори :к [листик1
:ц лв 360 / :к пусть "ц :ц + :й жди 1]
конец
это цветок4 к
ц й
повтори :к [листик1
:ц лв 360 / :к вп 10 пусть "ц
:ц + :й жди 1]
конец
Программный модуль
1. листик
по листик 90 56 пп {рисунок 11}
2. цветок1
по цветок1 9 25 пп {рисунок 12}
3. цветок2
по цветок2 9 87 6 пп {рисунок 13}
4. цветок3
по цветок3 11 103 15 пп {рисунок 14}
5. цветок4
по цветок4 10 104 25 пп {рисунок 15}
Создание художественного
сюжета
Процедуры
это квадрат а
повтори 4 [вп :а пр 90]
конец
это узор_квадрат а к ц й
повтори :к [нов_цвет :ц квадрат :а пр 360 / :к пусть "ц :ц + :й
жди 1]
конец
это круг б
повтори :б[вп 1 пр 360 / :б]
конец
это цветок б к ц й
повтори :к[нов_цвет :ц круг :б пр 360 / :к пусть "ц :ц + :й жди 1]
конец
это круг_л б ц
нов_цвет :ц повтори :б[вп 1 лв 360 / :б]
конец
это круг_п б ц
нов_цвет :ц повтори :б[вп 1 пр 360 / :б]
конец
это бусы б к ц й
повтори :к[нов_цвет :ц круг :б пр 360 / :к пусть "ц :ц + :й жди 1
пп вп 10 по]
конец
это тоннель б ф к ц й
повтори :к[нов_цвет :ц круг :б пусть "ц :ц + :й жди 1 пусть
"б :б + :ф]
конец
это бабочка1 б ф к ц й
повтори :к[нов_цвет :ц круг_л :б :ц круг_п :б :ц пусть "ц :ц + :й
жди 1 пусть "б :б + :ф]
конец
это дуга б
повтори :б[вп 1 лв 1]
конец
это листик б ц
нов_цвет :ц дуга :б лв 129 дуга :б лв 130
конец
это цветок1 к ц
повтори :к [листик 50 :ц лв 360 / :к жди 1]
конец
это цветок2 к ц й
повтори :к [листик 50 :ц лв 360 / :к пусть "ц :ц +
:й жди 1]
конец
это листик1 ц
нов_цвет :ц дуга 50 лв 130 дуга 50 лв 135 дуга 39 лв 141
дуга 39 лв 147 дуга 25 лв 152 дуга 25 лв 147
конец
это цветок3 к ц й
повтори :к [листик1 :ц лв 360 / :к пусть "ц :ц + :й
жди 1]
конец
это цветок4 к ц й
повтори :к [листик1 :ц лв 360 / :к вп 5 пусть "ц :ц +
:й жди 1]
конец
это бугор
повтори 90 [вп 1 пр 2] вп 1 лв 180 жди 1
конец
это бугорки
повтори 13 [бугор]
конец
это земля
нц 53 нов_х -325 нов_у -93 по бугорки пп нц 54 нов_х -298 нов_у -119
по бугорки пп нц 55 нов_х -287 нов_у -134 по бугорки пп нц 56 нов_х -260 нов_у
-152 по бугорки пп нц 57 нов_х -250 нов_у -171 по бугорки пп нц 58 нов_х -270
нов_у -192 по бугорки пп нц 59 нов_х -281 нов_у -210 по бугорки пп
конец
это ямка
повтори 90 [вп 1 лв 2] вп 1 лв 180 жди 1
конец
это ямки
пр 180 повтори 13 [ямка] пр 180
конец
это небо
нц 105 нов_х -325 нов_у 210 по ямки пп нц 102 нов_х -298 нов_у 185 по
ямки пп нц 96 нов_х -287 нов_у 170 по ямки пп нц 95 нов_х -260 нов_у 155 по
ямки пп нц 86 нов_х -250 нов_у 140 по ямки пп нц 85 нов_х -270 нов_у 125 по
ямки пп нц 84 нов_х -281 нов_у 110 по ямки пп
конец
это появление
сч нов_х -173 нов_у 40 по тоннель 50 15 20 8 5 пп нов_х -173 нов_у 40
пч жди 1 нов_курс 125 повтори 30 [вп 5 жди 1]
конец
это звезды
нов_размер_пера 4 нов_х -350 нов_у 170 по узор_квадрат 10 5 44 0 пп
жди 1
нов_х -50 нов_у 170 по узор_квадрат 10 5 24 0 пп жди 1 нов_х 123
нов_у 170 по узор_квадрат 10 5 14 0 пп жди 1 нов_х -290 нов_у 150 по
узор_квадрат 10 5 63 0 пп жди 1 нов_х 60 нов_у 140 по узор_квадрат 10 5 133
0 пп жди 1 нов_х -163 нов_у 175 по узор_квадрат 10 5 124 0 пп жди 1 нов_фон 5
жди 1 нов_х 180 нов_у 120 по узор_квадрат 10 5 64 0 пп жди 1 нов_х -10 нов_у
120 по узор_квадрат 10 5 83 0 пп жди 1 нов_х -170 нов_у 120 по
узор_квадрат 10 5 14 0 пп жди 1 нов_х 0 нов_у 160 по узор_квадрат 10 5 44 0
пп жди 1 нов_размер_пера 1
конец
это радуга б к ц й
нов_х -273 нов_у -72 нов_размер_пера 3 по повтори :к[нов_цвет :ц круг
:б пр 2 пусть "ц :ц + :й жди 1 пп вп 10 по] нов_размер_пера 1
конец
это листики
по нов_размер_пера 2 лв 15 листик 50 69 пр 90 листик 50 69 нов_курс 0
вп 60 пп вп 40 нов_размер_пера 1
конец
это цветы
нов_х 8 нов_у -175 листики нов_х 10 по цветок4 10 104 25 пп жди 2
нов_х -293 нов_у -121 по цветок3 11 103 15 пп жди 2
нов_х 284 нов_у -124 по цветок2 17 123 1 пп жди 2
нов_х -180 нов_у -158 по цветок1 15 25 пп жди 2
нов_х 149 нов_у -158 по узор_квадрат 30 25 7 10 пп жди 2
нов_размер_пера 2
нов_х -56 нов_у -167 по нов_размер_пера 2 цветок 70 7 12 1 пп вп 4 пр
95 по нов_цвет 45 нов_размер_пера 10 круг 20 нов_размер_пера 2 пп жди 2 нов_фон
11
нов_х -138 нов_у -72 по цветок 80 15 12 1 пп жди 2
нов_х 186 нов_у -75 по цветок 70 7 12 1 пп нов_размер_пера 1
конец
это сюжет
нов_фон 70 появление повтори 10[вп 10 пр 360 / 10 жди 0,5] жди 10 сг
нов_фон 90 земля жди 4 нов_фон 40 небо жди 4 нов_фон 10 звезды жди 2 нов_фон 9
нов_х 300 нов_у 150 по узор_квадрат 30 150 9 2 пп нов_фон 71 домой жди 6 радуга
20 90 6 10 пп домой нов_фон 41 жди 50 цветы
нов_фон 3 домой пр 30 жди 50 сч нов_фон 9 жди 50 нов_фон 72 жди 10 пч
жди 35
нов_размер_пера 1 нов_х -40 нов_у 2 по бабочка1 5 10 15 8 10 пп жди 3
нов_фон 41 нов_х 80 нов_у 20 по бабочка1 5 10 15 5 10 пп жди 3 нов_размер_пера
2 нов_х 240 нов_у -29 по круг_л 50 15 круг_л 70 105 круг_л 100 65 круг_п 50 15
круг_п 70 105 круг_п 100 65 пп жди 6 нов_х -318 нов_у 5 по круг_л 50 15 круг_л
70 105 круг_л 100 65 круг_п 50 15 круг_п 70 105 круг_п 100 65 пп жди 5 нов_фон
41 жди 30 нов_фон 2 жди 30 нов_фон 71 жди 30 нов_фон 130 жди 30 нов_фон 9 нов_х
-56 нов_у -167
конец
Программный
модуль
сюжет
Сопроводительный
рассказ к художественному сюжету
Я начинаю свой
рассказ. Вот домик Паучка. Он встал пораньше, сделал зарядку. Сегодня Паучок
начал сложную работу. Он хочет сплести паутину, какой еще ни у кого не было. Весь
день он ткал землю и небо, а на закате появились первые звезды. Чтобы следующий
день был ярким и солнечным Паучок всю ночь трудился над светилом. Ранним утром
в паутинке стала появляться радуга. Осмотрелся Паучок вокруг хорошо светло, но
не хватает цветов. Устал работяга к вечеру и отправился поспать. Всю ночь в
лунном свете любовались лесные жители паутинкой. Наступило утро, оглядевшись,
Паучок, решил украсить свое творение бабочками. Не прошли труды даром. Паутинка
красива как днем, так и вечером, как на восходе, так и на закате, но особенно
красива ночью.
Примеры применения программ для задания движения
нф 35 ямки {корабль на волнах}
нф 33 бугорки {автомобиль на
ухабистой дороге}
нф 11 цветок 150 17
12 1 {пчелка над
цветком}
Литература
1. Н.В. Макарова, Информатика
5-6, Питер, 2005 г.
2. Н.В. Макарова, Информатика,
Практикум по информационным технологиям 7-9, Питер, 2006
г.
3. А.В. Диков, Черепашка ходит
по кругу, газета «Информатика» №11/2004
Приложение 1. Язык ЛОГО ЛогоМиры.
Название команды (краткая форма)
|
Назначение инструмента
|
Относительное перемещение (команды)
|
вперед (вп)
|
Черепашка
продвигается вперед по направлению головы на указанное число шагов
|
назад
|
Черепашка
продвигается назад против направления головы на указанное число шагов
|
направо (пр)
|
Черепашка
поворачивается направо относительно головы на указанное число градусов
|
налево (лв)
|
Черепашка
поворачивается налево относительно головы на указанное число градусов
|
курс_на
|
Голова текущей
Черепашки поворачивается к Черепашке, имя которой указано
|
Абсолютное перемещение (команды)
|
нов_х
|
Черепашка
перемещается по горизонтали относительно центра координат
|
нов_у
|
Черепашка
перемещается по вертикали относительно центра координат
|
домой
|
Черепашка
возвращается в исходное положение (в центр рабочего поля, головой на Север)
|
нов_курс (нк)
|
Голова Черепашки
поворачивается по часовой стрелке на угол относительно Севера (0-359)
|
нов_место (нм)
|
Устанавливает
Черепашку в указанную точку рабочего поля
|
Перемещение (датчики)
|
х_коор
|
Сообщает значение
абсциссы текущего положения Черепашки
|
у_коор
|
Сообщает значение ординаты
текущего положения Черепашки
|
путь
|
Сообщает расстояние
от текущего положения Черепашки до указанной точки
|
курс
|
Сообщает величину
угла, образованного линией, идущей на Север, и линией, соединяющей положение
Черепашки с указанной точкой
|
Состояние Черепашки (команды)
|
перо опусти (по)
|
Перо опустить
|
перо подними (пп)
|
Перо поднять
|
(пс)
|
Перо стирай
|
сотри графику (сг)
|
Экран очищается, а
Черепашка возвращается в исходное положение – «домой»
|
(сч)
|
Спрячься Черепашка
|
(пч)
|
Покажись Черепашка
|
Управление цветом (команды)
|
нов_цвет (нц)
|
Установить
Черепашке указанный цвет (0-139)
|
нов_фон
|
Установить
указанный цвет фона
|
крась
|
Закрасить фигуру
текущим цветом Черепашки
|
Управление цветом (датчики)
|
цвет
|
Сообщает текущий
цвет Черепашки
|
цвет_поля (цп)
|
Сообщает текущий
цвет пикселя под пером Черепашки
|
Управление размером (команды)
|
нов_размер
|
Установить
Черепашке указанный размер (5-150)
|
нов_размер_пера
|
Установить
указанную толщину пишущего пера (1-100)
|
Вывод на экран (команды)
|
пиши
|
Выводит в текстовое
окно указанное значение
|
покажи
|
Выводит в Командный
центр указанное значение
|
Команды
|
это
|
Начало программы
(ключевое слово заголовка)
|
конец
|
Завершение
программы
|
жди
|
Задается пауза
|
повтори
|
Команда организации
цикла с ограниченным числом повторений
|
пусть
|
Создает переменную
(пуст “а 30) и может изменять значение уже созданной переменной (пусть “s :s + 1)
|
нов_форма (нф)
|
«Переодевает»
Черепашку в указанный костюм (0-60)
|
Датчики
|
случайный (сл)
|
Датчик случайных
чисел принимает значение любого целого положительного числа от 0 до заданной
в качестве параметра границы значений
|
Приложение 2. Таблица цветов.
Цвет
|
Номер цвета
|
|
1 2 3
4 5 6 7 8 9
|
|
10 11 12 13
14 15 16 17 18 19
|
|
20 21 22 23
24 25 26 27 28 29
|
|
30 31 32 33
34 35 36 37 38 39
|
|
40 41 42 43
44 45 46 47 48 49
|
|
50 51 52 53
54 55 56 57 58 59
|
|
60 61 62 63
64 65 66 67 68 69
|
|
70 71 72 73
74 75 76 77 78 79
|
|
80 81 82 83
84 85 86 87 88 89
|
|
90 91 92 93
94 95 96 97 98 99
|
|
100 101
102 103 104 105 106 107 108 109
|
|
110 111
112 113 114 115 116 117 118 119
|
|
120 121
122 123 124 125 126 127 128 129
|
|
130 131
132 133 134 135 136 137 138 139
|
Приложение 3. Рисунки.
Рисунок
1
|
Рисунок
2
|
Рисунок
3
|
Рисунок
4
|
Рисунок
5
|
Рисунок
6
|
Рисунок
7
|
Рисунок
8
|
Рисунок
9
|
Рисунок
10
|
Рисунок
11
|
Рисунок
12
|
Рисунок
13
|
Рисунок
14
|
Рисунок
15
|
Приложение 4. Паутинка.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.