Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



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

 

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

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

 

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

 

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

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

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

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

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

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

Поле команд.

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

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

 

 

Лист программ

 

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

 

В начало

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

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

 

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

 

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

Вперед 100

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

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

Команды поворотов

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

 

Команда Параметр Действие Сокращенная форма примеры
направо Количество градусов Черепашка попорачивается направо относительно текущего состояния на указанное количество градусов пр направо 45 пр 90
налево Количество градусов Черепашка попорачивается налево относительно текущего состояния на указанное количество градусов лв налево 90 лв 60

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

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

Команды пера черепахи

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

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

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

Команда Параметр Действие Сокращенная форма примеры
нов_размер_пера Размер пера в условных единицах. Самый маленький размер равен 1, самый большой 100. Черепашка меняет свое перо в соответствии с указанным размером нрп нрп 5
нов_цвет Либо название, либо номер цвета. Номер можно узнать, если в графическом редакторе навести на нужный цвет мышку. Всплывет подсказка с нномером цвета. Цвет пера черепашки меняется на указанный нц нов_цвет 15 нц “красный

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

В начало

Процедуры

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

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

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

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

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

Команда Параметр Действие Сокращенная форма примеры
повтори к [действия] к – количество повторений; действия – команды или определенные пользователем процедуры. Черепашка повторяет те действия, которые указаны в скобках повтори 100 [вп 1 жди 1] черепашка будет медленно двигаться 100 шагов (жди это пауза в действиях)

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

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

 

Это квадрат

по

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

Конец

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

кв

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

Упражнение 1

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

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

Это узор

Нрп 4 нц 25 по

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

Конец

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

Упражнение 2

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

в начало

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

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

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

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

Это кв: д

по

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

Конец

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

Это тр: д

по

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

Конец

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

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

 

Кв 100

 

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

Упражнение 1

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

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

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

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

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

 

 

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

 


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


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

 

Команда Параметр Действие Сокр. форма примеры
крась нет Черепашка закрашивает замкнутый контур или весь экран цветом пера. Для закраски внутренней части контура черепашка перед этой командой должна встать внутрь контура. Поднято или опущено перо у черепашки не имеет значения. по повтори 4 [вп 40 пр 90] пп вп 5 пр 90 вп 5 крась По этим командам нарисуется квадрат, а потом закрасится его внутренность.

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

 

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

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

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

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

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

 

 

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

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

Упражнение 2

 

 

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

 

 

Упражнение 3

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

В начало

Это мн: к: д: ц

Нц: к по

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

Конец

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

Мн 5 30 115

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

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

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

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

Упражнение 4

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

 

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

 

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

 

Например, при игре в любую настольную игру используются кубики с нанесенными на их гранях точками. При бросании кубика заранее неизвестно, сколько точек появится на верхней грани, но совершенно точно можно сказать, что их количество будет от 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.

 

В начало

Введение

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

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

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

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

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

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

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

 

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

 

Жил был царь,

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

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

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

Жил был царь,

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

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

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

 

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

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

 


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

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

 

 

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

по

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

Конец

 

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

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

 

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

по

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

Квадрат: а

Конец

 

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

 

Упражнение 2

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

Квадрат: а - 5

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

 

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

В начало

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

 

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

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

 

Команда Краткая форма выполняется пример
если условие [действия] - Проверяется условие. Если оно верное, то выполняются указанные действия. если цп = 105 [нц 115] по этой команде черепашка изменит свой цвет на фиолетовый, когда доползет до синего цвета поля.
если_иначе условие [действия1] [действия2] - Проверяется условие. Если оно верное, то выполняются действия1, а если нет, то действия2. если_иначе цп = 105 [вп 100] [нд 100] Исполняя эту команду, черепаха будет продвигаться вперед на синем поле и назад - на всех остальных.

 

Упражнение 3

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

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

 

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

 

Пример 1

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

Это кв: а

по

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

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

Кв: а - 5

Конец

 

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

 

 

Пример 2

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

 

Это спир: а

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

Вп: а пр 90

Спир: а - 5

Конец

 

Упражнение 4

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

 

Упражнение 5

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

 

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

В процедуре стирания спирали нужно пройти по спирали в другую сторону, т.е. не уменьшать, а увеличивать длину звена спирали. Не забудьте повернуть черепашку еще раз на 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.

В начало

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

 

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

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

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

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

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

Этап

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

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

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

       
   

 

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

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

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

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

 

 
 

 

 


Этап

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

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

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

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

 

 

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

Этап

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

Упражнение 1

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

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

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

 

Упражнение 2

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

 

 

В начало

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

Упражнение 1


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 881; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.21 с.)
Главная | Случайная страница | Обратная связь