Научная статья на тему 'Моделирование в среде Лого занятие 6. Разработка интернет-приложений'

Моделирование в среде Лого занятие 6. Разработка интернет-приложений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
128
23
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кузнецова Ирина Николаевна

Статья является продолжением статей автора по работе в среде Лого из журналов № 1, № 2, № 3, № 4 и № 5 за 2004 год. Шестое занятие посвящено теме "Разработка Интернет-приложений".

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Моделирование в среде Лого занятие 6. Разработка интернет-приложений»

Кузнецова Ирина Николаевна

МОДЕЛИРОВАНИЕ В СРЕДЕ ЛОГО ЗАНЯТИЕ 6. РАЗРАБОТКА ИНТЕРНЕТ-ПРИЛОЖЕНИЙ

Какая современная программная среда обходится без средств публикации в Интернет? Компанией LSCI разработан WEB-проигрыватель - mwplugin, который обеспечивает выполнение команд Лого при запуске проекта через браузер. Этот проигрыватель распространяется свободно, достаточно обратиться на сайт Московского Института Новых Технологий в образовании: http://www.int-edu.ru/logo/web.html. Программу mwplugin следует скачать по указанному адресу и установить у себя на компьютере.

Использование проигрывателя mwplugin позволяет работать с Лого-проектами на компьютерах, не имеющих систем Лого Миры 2 и MicroWorldPro.

Комплекс программ, написанных автором на Лого и JavaScript, обеспечивает создание дистанционной среды программирования, аналога которой автор пока не встречал.

Это занятие посвящено проблемам публикации проектов Лого в Интернет и содержит некоторые рекомендации.

ЗАДАНИЕ 1.

Правила оформления Лого-проекта для публикации

Если на вашем компьютере установлен проигрыватель mwplugin, то на сайте Лого-школы (http://acm.eltech.ru/logo/ logosch/instrum.htm) вы можете найти инструменты для демонстрации любого Лого-проекта.

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

Любой объект, предназначенный для демонстрации в Интернет, должен быть вставлен в гипертекстовый документ. В документации системы Лого Миры 2 описана методика подготовки такого документа, приведен пример HTML-докумен-та, который будет служить для вызова проекта.

В системе MicroWorldPro запускающий HTML-документ подготавливается автоматически при выполнении действия «Create HTML Template...» в пункте «File» Главного меню. При этом вы получите в текущей папке файл с именем вашего ЛОГО-проекта и типом (расширением) -.html (например, ivanov_01.html). Для проверки работы в WEB-проигрывателе запустите этот файл через браузер - обычно достаточно дважды щелкнуть на нем левой клавишей мыши.

В этом занятии показан более совершенный метод, который использован на сайте компании LSCI (http:// www. micro worlds. com/library/index. html).

Проект Лого включается в гипертекстовый документ как объект определенного класса:

<OBJECT classid="CLSID:D467AA06-E4F1-454C-B08C-916996C09579" width=370 height=400> <PARAM name=URL value="travel.mw2"> <EMBED src="travel.mw2" type= "application/x-mw2-plugin" pluginspage="http://www.lcsi.ca/webplayer" width=370 height=400X/EMBED> </OBJECT>

В теге <OBJECT> указывается имя Лого-проекта и его ширина и высота в пикселях.

Приведем пример такого документа:

<HTML> <HEAD>

<META NAME="keywords" CONTENT="MW Web Player">

<TITLE>Connect4</TITLE></HEAD> <BODY>

<table border=1 width=592> <tr>

<td valign=top width=322>

<h3 align=center>connect4.mw2</h3>

<OBJECT classid="CLSID:D467AA06-E4F1-454C-

B08C-916996C09579" width=592 height=322>

<PARAM name=URL value="connect4.mw2">

<EMBED src="connect4.mw2"

type="application/x-mw2-plugin"

pluginspage="http://www.lcsi.ca/webplayer/

" width=592 height=322X/EMBED>

</OBJECT>

</td>

</tr>

</table>

</BODY>

</HTML>

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

Предлагаем вам самостоятельно написать такую программу.

ЗАДАНИЕ 2. Ограничения на Лого-проект

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

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

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

Итак, рассмотрим все по порядку.

1. Чтобы уменьшить объем информации, передаваемой по сети, следует уменьшать размер ЛОГО-проекта (рабочего поля). Это делается только для нового (чистого) проекта командой newprojectsize, например newprojectsize [400 300]. Тогда размер рабочего поля устанавливается 400 пикселей по горизонтали и 300 пикселей по вертикали. После выполнения этой команды сохраняйте проект.

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

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

4. В ЛОГО-проекте, подготовленном для публикации в Интернет, нельзя использовать следующие команды, связанные с работой с командным центром и файлами:

cc

merge

newprojectsize

printtext

procedures

saveproject

setfooter

loadpict

savepict

loadshape

saveshape

placepicture

savetext

loadtext

openworksheet

closeworksheet setcell getcell exporttext

ЗАДАНИЕ 3.

Моделирование командного центра в WEB-рабочем поле

Как говорилось выше, в проекте, опубликованном в Интернет, нет командного центра. Это приводит к тому, что для публикации можно представить только полностью готовые проекты. Однако для дистанционного обучения необходима среда, позволяющая проводить любые эксперименты, создавать любые объекты в режиме online. Такие дистанционные среды программирования автору пока неизвестны.

В системе MicroWorldPro появилась новая команда readonline для назначения роли командного центра текстовому окну. Вот как используется эта команда в проектах, опубликованных на сайте http ://acm. eltech .ru/lo go/lo gosch:

;;; Создание комнадного центра to startup

newtext "command_center [-182 -140][366 40] command_center, setfont "system pr [This is

the Command Center] onreadline "command_center "run end

Пример удаленного рабочего поля можно увидеть на сайте Лого-школы по адресу: http://acm.eltech.ru/logo/logosch temal/desk v1.html. На этом рабочем поле размещены также кнопки, моделирующие инструменты среды Лого для создания новых объектов и назначения им свойств и действий:

turtle - создание черепашки txtwin - создание текстового окна button - создание кнопки slider - создание бегунка page - создание листа shape_s - просмотр форм FIX_rule - назначение действия объекту d_rule - описание действия объекта рабочее_поле - возврат на первый лист

Все эти кнопки формируются программой - конструктором, "

о -

которая стартует автоматически при открытии проекта.

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

;Для работы через Интернет проигрыватель -запуск команд через текстовое окно to startup

newtext command_center [-163 -149][326 40] command_center, setfont "system pr

[Это командный центр] ; кнопка для ввода из командного центра newbutton "bcc [-123 -124][ввод_из_КЦ] set "bcc "размер [85 22] end

Процедура для кнопки bcc - ввода строки из КЦ

to ввод_из_КЦ

eol select sol copy cd

run clipboard

end

В этом варианте для ввода из удаленного командного центра необходимо установить курсор в окно ввода и щелкнуть по кнопке ввод_из_КЦ.

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

ЗАДАНИЕ 4. Примеры публикации Лого-проектов

В рамках нашего курса рассматривались разные проекты. Часть из них опубликована на сайте http://acm.eltech.ru/logo/ logosch. Для загрузки проектов подготовлена запускающая гипертекстовая страница dem_pro.htm. Пользователь может выбрать одно из действий - открыть указанный Лого-проект в режиме online или считать архив с этим файлом и работать с ним в режиме offline. При загрузке проекта через запускающий файл в окне браузера рядом с рабочим полем Лого вы увидите окно с текстами программ. Окно Лого-проекта содержит и командный центр, поэтому можно выполнить любую команду.

Примеры встроенных объектов, предлагаемые на занятии 1 («Встроенные объекты» - http://acm.eltech.ru/ logo/logosch\tm1 doc.htm) содержатся в проектах valent и concert. В первый проект включены черепашки и кнопки, во второй - музыкальные объекты. Программы, рассмотренные на занятиях 2 и 3 («Алгоритмы обработки» и «Работа с переменными» -http://acm.eltech.ru/logo/logosch/tm2 doc.htm), содержатся в проекте travel. Этот проект -не самый удачный пример публикации, так как размер его более 250 кб. Не каждый сможет загрузить такой большой файл. Поэтому предлагается скачать архив. В архив включен и запускающий HTML-файл. Интересные примеры применения возможностей Лого приведены также в проекте idies (смотри там же). Этот проект имеет размер еще больше - более 700 кб!

На занятии 4 («Разработка проекта по школьному предмету») рассматривались вопросы математики, выраженные на языке Лого. Эти идеи и программы включены в проект mathematics (http://acm.eltech.ru/ logo/lo go sch/pro/dem pro.htm). В проекте нет заимствованной графики, из встроен-

ных объектов используется только черепашка, которая создается процедурой constr, и текстовое окно, выполняющее роль командного центра. Поэтому размер файла mat hematic s.mw2 составляет всего 58 кб. Рядом с рабочим полем расположено окно, в которое выведены тексты всех Лого-программ, доступных в этом проекте.

Занятие 5 («Создание микромиров») иллюстрируется двумя проектами: of_gorohov и fractal (http://acm.eltech.ru/logo/ logosch/pro/dem pro.htm). Проект of_gorohov демонстрирует применение фракталов при создании в среде Лого пейзажа. Програм-

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

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

В 2004 году проводилась командная олимпиада в среде Лого. На сайте (http:// acm.eltech.ru/logo/topoly.htm) опубликованы версии задач для дистанционного участия в среде Лого Миры 2 (http://acm.eltech.ru/logo/ logosch /pro olimp04/mw2 dist04.html) и в среде Micro WorldPro (http://acm.eltech.ru/ logo/logosch/pro/olimp04/mwpro dist04.html).

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

на этой странице содержит все Лого-объекты, необходимые для проведения исследования.

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

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

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

Каждая страница НТМЬ-документа с олимпиадными задачами открывается в отдельном окне, что позволяет оперативно пользоваться помощью, коллекцией форм, не теряя рабочего окна.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

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

Обращаем внимание читателя на важное достоинство такой олимпиады: для участия в ней не требуется наличия систем Лого на локальном компьютере! Достаточно иметь браузер и установить проигрыватель -mwplagin.exe.

ЗАДАНИЕ 5.

Моделирование абстрактных форм

В марте 2002 года в Интернет появился обзор статьи (http://astronomv.swin.edu.au/ ~pbourke/curves/) «A generic geometric transformation that unifies a wide range of natural and abstract shapes» - «Общее геометрическое преобразование, которое объединяет широкий ряд естественных и абстрактных форм».

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

нение, можно получить самые разнообразные геометрические формы. В итоге .ГоИап ОеШ предлагает формулу

1

1

-cos

a

m е^

4

V

/

+

1

— sin b

m е

4

v

A

зависимости радиуса угла в полярных координатах (см. рисунок 1).

Как ни странно, это позволяет получить даже спиралевидные кривые. У фор-

мулы есть еще параметры (п1, п2, т) - они, собственно, и отвечают за форму кривой.

В проекте аЬз1г^огтез написаны программы движения черепашки в соответствии с указанной формулой (публикуется впервые).

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

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

[300 400], включим текстовое окно, которое будет играть роль командного центра. Подготовим конструкторы и деструкторы для создания и удаления нужных объектов:

to startup

newtext "command_center [-142 -160][280 40] command_center, setfont "system pr [This

is the Command Center] onreadline "command_center "run end

;3адание 1. Исследование зависимости ;координат точки в зависимости ;от радиуса-вектора ;и угла поворота этого радиуса. to constr1

Рисунок 1.

newslider "an [-150 200][-9999 9999 0] newslider "r [-30 200][0 100 50] newturtle "t1 pu home setsh 7 st setc 105 newtext "scale [90 200][50 30] setscale 100 end

to destrac1 eg

remove "t1 remove "an remove "r remove "scale end

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

<HTML> <HEAD>

<META NAME="keywords" CONTENT="MW Web Player">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <TITLE>Aбстрактные формы</TITLE> </HEAD> <BODY>

<table width=100%> <tr><td width=300 valign=top> <big>Mоделирование фракталов.</big> <OBJECT classid="CLSID:D467AA06-E4F1-454C-B08C-916996C09579" width=300 height=400> <PARAM name=URL value="abstr-formes.mw2"> <EMBED src="abstr-formes.mw2" type="application/x-mw2-plugin" pluginspage="http://www.lcsi.ca/webplayer" width=300 height=400></EMBED> </OBJECT>

<a href="logohelp.html" target="_blank">

Лого-помощь</a>

</td><td valign=top>

n

n

2

n

r

<з^опд>Текст процедур</з^опд> <БК> <textarea naшe=пjobп rows=25 ео1з=40 уа1ие=пп>

«здесь должны быть тексты программ на языке

Лого>>

</textarea><BR>

<ШРит type=button va1ue=пBозвратп onc1ick="1ocation.href='deш_pro.htш';"> </td> </tr>

</В0БУ>

</ытмь>

Вводя последовательно команды: task3 task4 task5 ex1, вы увидите, какие необыкновенные фигуры рисует черепашка.

Вводя команду ex2 c разными значениями параметра m (от 3 и увеличивая на 1), а также команду ex3 c разными значениями параметра m (от 5 и увеличивая на 1), вы почувствуете, как этот параметр влияет на форму фигуры (рисунки 2-4).

Проект abstr-formes опубликован на сайте Лого-школы (http://acm.eltech.ru/logo/ logosch /pro/dem pro.htm).

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

© Наши авторы, 2004. Our authors, 2004.

Кузнецова Ирина Николаевна, учитель информатики школы № 640, координатор секции Лого-Лего Международной конференции «Школьная информатика и проблемы устойчивого развития».

i Надоели баннеры? Вы всегда можете отключить рекламу.