Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Методические рекомендации'
Региональная экспериментальная площадка государственное образовательное учреждение Ярославской области Переславль-Залесская специальная (коррекционна...полностью>>
'Документ'
а) Орієнтацію на довгострокову перспективу, застосування підходу до планування «від майбутнього до сьогодення», пріоритетність аналізу зовнішніх можл...полностью>>
'Методичні рекомендації'
У зв’язку із становленням ринкових відносин у нашій країні з’явився і став активно розвиватися новий науково – практичний напрямок – логістика. Актуа...полностью>>
'Документ'
Аронов Д.М., Даниелов Г.Э., Мехеева Т.Г., Маевская Е.Г. Клиническое наблюдение за больным, участвовавшим в марафонском забеге после перенесенного инф...полностью>>

Задачи: Изучить среду Visual Basic; Подобрать задачи исследовательского характера для визуализации экспериментального процесса; Разработать программы и исследовать информационные процессы

Главная > Исследовательская работа
Сохрани ссылку в одной из сетей:

1

Смотреть полностью

Муниципальное общеобразовательное учреждение

«Карагайлинская средняя общеобразовательная школа»

Исследовательская работа

Работа обучающихся 11 класса

Калиничевой Галины,

Аверьяновой Веры

Руководитель Семенцова

Ольга Васильевна

учитель математики и информатики

Прокопьевский район

2008

Цель: Использование среды Visual Basic для визуализации исследовательских задач и процессов.

Задачи:

  1. Изучить среду Visual Basic;

  2. Подобрать задачи исследовательского характера для визуализации экспериментального процесса;

  3. Разработать программы и исследовать информационные процессы;

  4. Продемонстрировать полученные модели исследовательских задач на уроках физики.

Ход работы:

  1. Собрать необходимую литературу для эксперимента;

  2. Изучить среду Visual Basic (графический интерфейс, свойства, функции, основные логарифмические конструкции, , основные объекты управления);

  3. Подобрать задачи исследовательского характера для визуализации экспериментального процесса;

  4. Построить математические модели исследуемых процессов;

  5. Разработать алгоритмы задач;

  6. Написать коды программ на языке Visual Basic исследуемых задач;

  7. Протестировать программы;

  8. Проанализировать полученные результаты;

  9. Продемонстрировать полученные модели исследовательских задач на уроках физики.

Содержание

I. Актуальность .................................................................................. 2

II.Структура и возможности Visual Basic 5.0

  1. Microsoft Visual Basic 5.0. Рождение и развитие……………….3

  2. Язык Visual Basic 5.0…………………………………………….5

  3. Переменные и операторы………………………………………..5

  4. Использование форм……………………………………………..8

  5. Возможности Visual Basic……………………………………….8

  6. Использование средств управления OLE………………………9

  7. Теоретические возможности моделирования………………….9

  8. Некоторые приемы программирования для визуализации

результатов моделирования…………………………………………14

III. Исследование информационных моделей среды Visual Basic

физических задач

1. Задача 1. Визуализация процесса преломления света при

переходе из одной среды в другую………………………………...14

2. Задача 2. Визуализация процесса бросания тела под углом к горизонту при отсутствии сопротивления воздуха…………………….16

3. Задача 3. Визуализация процесса бросания мяча в площадку..19

4. Задача 4. Визуализация изолиний электрического поля

нескольких точечных зарядов……………………………………………22

  1. Задача 5. Визуализация траекторий точки, совершающей

колебания. (Построение фигуры Лиссажу)……………………………..25

IV. Анализ полученных результатов

  1. Презентация информационных моделей физических задач (Приложение 1)

  2. Об использовании полученных информационных моделей физических задач…………………………………………………28

V. Литература……………………………………………………..29

I. Актуальность

Visual Basic; (VB) - это среда разработки программ, которая позво­ляет быстро и легко создавать приложения (прикладные программы) для Windows. В нее включено все, что необходимо для создания, модифика­ции, тестирования, корректирования и компиляции программ. Visual Basic - это полноценный язык программирования высокого уровня.

Слово Visual - «визуальный», «наглядный» - означает способ разра­ботки пользовательского интерфейса программы. Еще на этапе создания программы видно, как будет выглядеть программа в действии. Вы «рисуете» окна, кнопки, текстовые панели, линейки прокрутки и другие компоненты пользовательского интерфейса подобно тому, как рисуют объекты в графическом редакторе для Windows.

Слово Basic - «основной» - описывает тип программного кода, кото­рый создаете. Программа Visual Basic представляет собой вариант хо­рошо известного языка программирования.

Но главное то, что с помощью среды Visual Basic можно создавать программы, которые помогают «увидеть» исследуемые процессы и наглядно поэкспериментировать с ними

  1. Структура и возможности Visual Basic 5.0

Microsoft Visual Basic 5.0

Microsoft Visual Basic 5.0 - это мощная система программирования, позволяющая быстро и эффективно создавать приложения для Microsoft Windows’95 и Microsoft Windows’NT

Рождение и развитие Basic.

Оригинальный язык программирования Basic был создан Джоном Кемени и Томасом Курцем в 1963 г в Дартмурском колледже. Он быстро завоевал популярность в качестве языка для обучения программированию в университетах и школах и был адаптирован для использования на персональных компьютерах основателем и главой компании Microsoft Биллом Гейтсом в середине 70-х гг. С тех пор для ПК последовательно было выпущено несколько версий Basic, включая Microsoft Quick Basic и MS-DOS Qbasic. Хотя программная оболочка Visual Basic выполнена полностью графической, а сам язык программирования весьма далек от языка, применяемого для ранних версий интерпретаторов Basic , простота и элегантность Basic осталась в большой мере присущей и новым версиям. Широкие возможности Visual Basic и его простота послужили основной причиной для выбора его в качестве языка программирования для создания таких Windows- приложений как Excel.

Новые возможности Visual Basic 5.0:

  • Управление множественными проектами с помощью

Explorer (Проводник проектов)

  • Использование новых сред Code Editor (Редактор кодов), в том числе

Auto Quick Info (Быстрого Авто информатора)

  • Работа с окном Form Layout (Макета бланка) для настройки внешнего

вида программы.

  • Изменение размеров окон и документов.

  • Выбор и использование функций управления Active X.

  • Использование новых отладочных инструментов и техник для

исправления ошибок программирования.

  • Быстрый запуск проекта с одной или более предопределенной формой.

  • Расширение возможностей Microsoft Word через автоматизацию.

Среда программирования Visual Basic содержит все необходимые инструменты для быстрого и эффективного создания мощных программ, работающих в среде Windows.

Инструменты, имеющиеся в среде программирования Visual Basic, помогают при конструировании Basic- программ.

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

Под строкой меню имеется панель инструментов - набор кнопок, являющихся ярлыками для команд, с помощью которых осуществляется работа в среде Visual Basic. В нижней части экрана расположена панель задач. Её можно использовать для переключения между компонентами Visual Basic или для активации других приложений Windows. Также имеется окно инструментов (Toolbox), окно содержания проекта (Project Container) , окно формы(Form) , окно проекта(Project), окно непосредственного выполнения(Immediate), окно свойств(Properties) и окно макета формы(Form layout).

Файлы проектов Visual Basic имеют расширения .vbp, .wak, .vbg в имени файла.

В среде Visual Basic имеется 7 инструментов .

Форма Visual Basic – это окно в интерфейсе полдьзователя .

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

Окно Properties (Свойства)

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

Окно Project(Проект).

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

Файлы проекта содержат список всех поддерживаемых файлов и программ проекта и их расширение vbp (Visual Basic program).

В Visual Basic 5 в окно Project можно одновременно загрузить несколько файлов проектов.

В Visual Basic предусмотрена оперативная справочная система, включающая информацию о среде программирования, инструментах и языке программирования Visual Basic.

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

Язык Visual Basic.

Язык программирования Visual Basic содержит несколько сотен инструкций, функций и специальных символов. Он предназначен не только для использования в программном продукте Visual Basic, Microsoft Visual Basic for Application включен в состав Microsoft Excel, Microsoft Word, Microsoft Access, Microsoft PowerPoint, Microsoft Project и других приложений для Windows.

Переменные и операторы.

Visual Basic позволяет резервировать переменные, с указанием размера и без оного, работать с различными типами данных, использовать константы, работать с математическими операторами и функциями, использовать дополнительные операторы. Предусмотрено использование операторов циклов For..Next, Do, объектов типа “ таймер” (невидимый секундомер в программе). Точность установления времени в программе составляет 1 миллисекунду, или 1/1000 сек. Запущенный таймер постоянно работает - т.е. выполняется соответствующая процедура обработки прерывания через заданный интервал времени - до тех пор, пока пользователь не остановит таймер или не отключит программу.

Типы данных

Тип

Размер (байт)

Диапазон значений

Пример использования

Integer (Целое)

2

от - 32768 до 32767

Dim Birds%

Birds%=37

Long Integer (Длинное целое)

4

от - 2147483648 до 2147483647

Dim Loan&

Loan&=350,000

Single-precision Floating paint (Одинарной точности с плавающей десятичной точкой)

4

от - 3,402823Е38 до 3,4402823Е38

Dim Price!

Price!=899.99

Double-precision Floating paint (Двойной точности с плавающей десятичной точкой)

8

от -1,79769313486232D308 до 1,79769313486232 D308

Dim pi# pi#=3.1415926535

Currency (денежные единицы)

8

от -922337203685477,5808 до 922337203685477,5807

Dim Debt@

Debt@=7600300,50

String (Строка)

1 на символ

от 0 до 65535 символов

Dim Dog$

Dog$=’pointer’

Boolean (Логическое)

2

True(истина) или False(ложь)

Dim Flag as boolean

Flag=True

Date (Дата)

8

от January(Январь) 1,100, до December(Декабрь) 31,9999

Dim Birthday as Date

Birthday=#3-1-63#

Variant (Вариант)

16 (для чисел); 22+1 на символ (для строк)

для всех типов данных

Dim Total

Total=289.13

Математические операторы и функции

Операция

Математическое действие

+

Сложение

-

Вычитание

*

Умножение

/

Деление

\

Целая часть от деления

Mod

Остаток от деления

^

Возведение в степень

&

Слияние (конкатенация) строк

Функция

Действие

abs(n)

Возвращает абсолютное значение n

atn(n)

Возвращает арктангенс n в радианах

cos(n)

Возвращает косинус угла n в радианах

Exp(n)

Возвращает константу е в степени n

Sgn(n)

Генерирует случайное число между 0 и 1

Rnd(n)

возвращает -1 , если n<0; 0, если n=0; +1если n>0

Sin(n)

Возвращает синус угла n в радианах

Sqr(n)

квадратный корень из n

Str(n)

Преобразует числовое значение в строку

Tan(n)

Возвращает тангенс угла n в радианах

Val(n)

Преобразует строку в числовое значение

Использование форм.

Формы могут быть модальными и немодальными.

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

Модальная (формальная) форма - форма, которая всегда должна использоваться при ее отображении на экране, она остается на первом плане, пока пользователь не щелкнет на кнопке ОК, на Cancel или не отправит ее.

Форма которую пользователь может отключить, называется немодальной(неформальной). В большинстве приложений в Microsoft Windows для отображения информации используются немодальные формы, поскольку они предусматривают большую гибкость использования, поэтому форма принимается немодальной по умолчанию при создании новой формы. Можно также задать любое свойство для формы, включая заголовок, размер, тип рамки, цвет фона и символов, шрифт текста и фоновый рисунок.

Visual Basic позволяет :

  • работать со средствами управления

  • работать с меню и диалоговыми окнами

  • работать с формами, принтерами и обработчиками ошибок

  • добавлять художественное оформление и спецэффекты

  • использовать модули и процедуры

  • работать с наборами элементов и массивами

  • работать с текстовыми файлами и базами данных

  • взаимодействовать с Microsoft Office

Visual Basic предоставляет три очень полезных объекта для предоставления доступа к файловой системе. Это списки дисковых накопителей, которые позволяют пролистывать доступные диски в системе; списки директорий, которые позволяют ориентироваться в папках на выбранном диске, и списки файлов, позволяющие выбрать нужный файл в папке.

Использование объектов данных для просмотра баз данных Microsoft Access.

Для работы с базами данных Visual Basic предоставляет три объекта, которые позволяют показывать и изменять информацию в файлах базы данных. Объект данные, дает доступ к полям и записям файла базы данных непосредственно на форме. Объект также позволяет менять информацию в базе данных.

Если вы регулярно работаете с базами данных - особенно с Microsoft Access, Microsoft FoxPro, Paradox, Brieve и dBase - то Visual Basic окажется весьма мощным средством для обработки и отображения данных. Поскольку Visual Basic предусматривает технологию обработки баз данных, аналогичную, используемой Microsoft Access , то можно создавать основные приложения для работы с базами данных с помощью всего нескольких десятков строк в тексте программы.

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

С помощью Visual Basic можно построить собственное приложение по обработке баз данных, которое отображало бы только информацию, необходимую пользователю, а также предоставляло бы пользователю необходимые средства для обработки данных.

Средства управления Line(отрезок) и Shape(фигура) позволяют создать геометрические фигуры.

Использование средств управления OLE.

Можно использовать OLE для вставки объектов из приложений в программы на Visual Basic . В качестве примеров объектов приложений можно привести листы и диаграммы Excel, документы Word и изображения Microsoft ClipArt. Объектами приложений могут быть как новые, неустановленные документы, так и существующие факты, загружаемые с диска.

В Visual Basic можно создать как объектные, так и управляющие приложения, поддерживающие функцию Automation(автоматизация).

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

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

Тема «Компьютерное моделирование в Visual Basic» посвящена той из компьютерных технологий обработки информации, ради которой когда-то создали первую ЭВМ и ради которой сегодня в значительной мере соз­дают супер-ЭВМ, - решению прикладных научно-технических задач, среди которых задачи математического моделирования составляют видную до­лю.

Что же такое модель? Что общего между игрушечным корабликом и рисунком на экране компьютера, изображающим сложную математиче­скую абстракцию? И все же общее есть: и в том, и в другом случае мы имеем образ реального объекта или явления, «заместителя» некоторого «оригинала», воспроизводящего его с той или иной достоверностью и под­робностью. Или то же самое другими словами: модель является представ­лением объекта в некоторой форме, отличной от формы его реального су­ществования.

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

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

Мы предлагаем к рассмотрению математические ком­пьютерные модели (разновидность абстрактных моделей). Данный вид мо­делей выражает существенные черты объекта или процесса языком урав­нений и других математических средств, инструментом моделирования выступает компьютер, если более точно, система программирования Visual Basic. Компьютерные математические модели дают широкие возможности представить изучаемые процессы наглядно с различных сторон, а также способствуют углубленному их пониманию. Но самым замечательным является то, что кроме создания простых моделей, адекватных некоторым сложным процессам, можно еще и управлять моделирующими процессами (интерактивные модели).

Рисунок 1 – Этапы компьютерного моделирования

Здесь мы рассмотрим процесс компьютерного математического мо­делирования, включающий численный эксперимент с моделью (см. рису­нок 1).

Первый этап - определение целей моделирования, основные из них таковы:

1) модель нужна для того чтобы понять, как устроен конкретный объект, какова его структура, основные свойства, законы развития и взаи­модействия с окружающим миром (понимание);

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

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

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

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

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

Составим список величин, от которых зависит поведение объекта
или ход процесса, а также тех величин, которые желательно получить в ре-­
зультате моделирования. Обозначим первые (входные) величины через х1, х2, х3…, хn; вторые (выходные) через у1, у2, у3…, yk. Символически поведе-
ние объекта или процесса можно представить в виде:

yj= Fj1, х2, х3…, хn ), (j=1,2,…,k)

где Fj - те действия, которые следует произвести над входными параметра-ми, чтобы получить результаты. Хотя запись Fj1, х2, х3…, хn ) напоминает о функции, мы здесь используем ее в более широком смысле. Лишь в про­стейших ситуациях F(х) есть функция в том смысле, который вкладывается в это понятие в учебниках математики, чтобы это подчеркнуть, лучше использовать по отношению к F(х) термин «оператор».

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

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

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

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

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

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

Когда математическая модель сформулирована, выбираем метод ее
исследования. Как правило, для решения одной и той же задачи есть не­
сколько конкретных методов, различающихся эффективностью, устойчи­-
востью и т.д. От верного выбора метода часто зависит успех всего процес­са.
Разработка алгоритма и составление программы для ЭВМ - это творческий и трудно формализуемый процесс. В настоящее время при компьютерном математическом моделировании наиболее распространен­ными являются приемы процедурно-ориентированного (структурного) программирования.

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

Затем следует собственно численный эксперимент, и выясняется, со­ответствует ли модель реальному объекту (процессу). Модель адекватна реальному процессу, если некоторые характеристики процесса, получен­ные на ЭВМ, совпадают с экспериментальными с заданной степенью точ­ности. В случае несоответствия модели реальному процессу возвращаемся к одному из предыдущих этапов.

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

Геометрические модели

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

III. Исследование информационных моделей среды Visual Basic физических задач

Задание 1. Визуализировать процесс преломления света при переходе из одной среды в другую.

В самой постановке задачи сформулирована цель моделирования: визуализация процесса преломления света.

Теоретические основы преломления света

Закон преломления света:

1. Луч падающий, луч преломленный и перпендикуляр, восстановленный в

точку падения луча, лежат в одной плоскости.

2. Действует следующее математическое отношение: ,

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

Построения модели

Визуализацию будем проводить средствами среды визуального программирования Visual Basic 6.0.

Первая часть- визуальное программирование.

1. Разместить на форме два текстовых поля (Техt1, Техt2) для ввода угла паде­ния и относительного показателя пре­ломления, а также соответствующие надписи (Label1, Label2).

2. Поместить на форме два графических поля для отображения хода луча в двух
средах (Picture1, Picture2).

3. С помощью редактора меню создать меню с соответствующим набором команд (смотрим рисунок 2)

Рисунок 2

4. Нанести еще две надписи, отображающие названия углов (Lаbеl3, Lаbеl4).

Вторая часть –написание кода программы

  1. Описать константу Пи и переменную k, хранящую число вызовов команды «моделировать» после запуска программы и очистки окна.

Const pi = 3.14159265358979

Dim k

  1. Программный код обработки события вызова команды «очистить».

Private Sub Clear_Click()

Picture1.Cls

Picture2.Cls

Label3.Visible = False

Label4.Visible = False

k = 1

Picture1.ForeColor = vbBlack

Picture2.ForeColor = vbBlack

End Sub

  1. Программный код обработки события вызова команды «выход».

Private Sub exit_Click()

End

End Sub

  1. Программный код обработки события загрузки формы.

Private Sub Form_Load()

Picture1.Scale (-1, 1)-(1, 0)

Picture2.Scale (-1, 0)-(1, -1)

k = 1

End Sub

  1. Программный код обработки события вызова команды «моделировать»

Private Sub model_Click()

a = Val(Text1.Text)

If k = 1 Then

Picture1.Line (0, 1)-(0, 0)

Picture2.Line (0, 0)-(0, -1)

End If

col = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)

Picture1.ForeColor = col

Picture2.ForeColor = col

Picture1.Line (0, 0)-(-Tan(a * pi / 180), 1)

n21 = Val(Text2.Text)

x = Sin(a * pi / 180) * n21 / Sqr(1 - (Sin(a * pi / 180) * n21) ^ 2)

Picture2.Line (0, 0)-(x, -1)

Label3.Visible = True

Label4.Visible = True

k = k + 1

End Sub

6. Протестировать программу.

Траектории движения тел, графики

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

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

Цели моделирования сформулируем следующими вопросами: Какой вид траектория тела, брошенного под углом к горизонту? Как изменяет скорость во время полета?

Теоретическое описание исследуемой модели.

Траектория движения тела будет описываться следующими формулами:

Sx=v0*cos α*t;

Sy=v0*sin α*t - ;

Где Sx – перемещение вдоль оси х, Sу – перемещение вдоль оси у в момент времени t, а - угол бросания относительно оси х.

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

Построение модели

Первая часть - визуальное программи­рование.

1. Разместить на форме три текстовых поля (Техt1, Техt2, Техt3) для ввода угла бросания, начальной скорости и интер­вала времени (в миллисекундах), через которые будет определяться новое по­ложение тела (строиться точка), а также соответствующие надписи(Label1, Label2 Label3).

2. Поместить на форме графическое поле для отображения положения тела через

определенные промежутки времени (Picture1).

3. Нанести на форму таймер, который будет регулировать построение тра­ектории.

4. С помощью редактора меню создать меню с соответствующим набором
команд (см. рисунок 3).


Рисунок 3

Вторая часть - написание кода программы.

  1. Описать константу Пи и g (ускорение свободного падения), переменные, в которых будут храниться текущие значения начальной скорости движе­ния, угла бросания и время:

Const pi = 3.14159265358979

Const g = 9.8

Dim v0, a, T

  1. Программный год обработки событий команды «выход» и «очистить» будут иметь следующий вид:

Private Sub Clear_Click()

Picture1.Cls

End Sub

Private Sub exit_Click()

End

End Sub

3. При вызове команды «моделировать» главного меню происходит присвоение значений переменным а, v0, устанавливается значение свойства Interval для таймера. Происходит масштабирование графического поля, исходя из коэффициента пропорциональности, активизируется таймер.

Private Sub model_Click()

T = 0

Picture1.Cls

a = Val(Text1.Text) * pi / 180

v0 = Val(Text2.Text)

terval = Val(Text3.Text)

tm = v0 * Sin(a) / g 'время достижения максимальной высоты

symax = v0 * Sin(a) * tm - g * tm ^ 2 / 2 'максимальная высота полета

sxmax = (v0 * Cos(a) * tm) * 2 'максимальная дальность полета

k0 = Picture1.Width / Picture1.Height 'коэффициент пропорциональности

If symax > sxmax Then

Picture1.Scale (0, symax)-(k0 * symax, 0)

Else

Picture1.Scale (0, sxmax / k0)-(sxmax, 0)

End If

Timer1.Enabled = True

End Sub

4. Через интервал времени, равный значению свойства Interval таймера, сроится точка. При достижении нижней границы графического поля таймер отключается.

Private Sub Timer1_Timer()

T = T + terval / 1000

y = v0 * Sin(a) * T - g * T ^ 2 / 2

If y < 0 Then

Timer1.Enabled = False

Else

x = v0 * Cos(a) * T

Picture1.PSet (x, y)

End If

End Sub

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

Построение модели

Первая часть - визуальное программи­рование.

1. Разместить на форме три текстовых поля (Техt1, Техt2, Техt3) для ввода угла бросания, начальной скорости и интер­вала времени (в миллисекундах), через которые будет определяться новое по­ложение тела (строиться точка), а также соответствующие надписи(Label1, Label2 Label3).

2. Поместить на форме графическое поле для отображения положения тела через

определенные промежутки времени (Picture1).

3. Нанести на форму таймер, который будет регулировать построение тра­ектории.

4. С помощью редактора меню создать меню с соответствующим набором
команд (см. рисунок 4).

Рисунок 4

Вторая часть - написание кода программы.

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

Const pi = 3.14159265358979

Const g = 9.8

Dim v0, a, T, col

2. Программный год обработки событий команды «выход» и «очистить» будут иметь следующий вид:

Private Sub Clear_Click()

Picture1.Cls

End Sub

Private Sub exit_Click()

End

End Sub

3. При вызове команды «моделировать» главного меню происходит присвоение значений переменным а, v0, устанавливается значение свойства Interval для таймера. Происходит масштабирование графического поля, исходя из коэффициента пропорциональности, активизируется таймер.

Private Sub model_Click()

Picture1.Scale (0, 15)-(15, 0)

Picture1.ForeColor = &H0&

Picture1.Line (10, 0.1)-(11, 0.1)

col = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)

Picture1.ForeColor = col

T = 0

a = Val(Text1.Text) * pi / 180

v0 = Val(Text2.Text)

terval = Val(Text3.Text)

Timer1.Enabled = True

End Sub

  1. Через интервал времени, равный значению свойства Interval таймера, сроится точка. При достижении нижней границы графического поля таймер отключается.

Private Sub Timer1_Timer() 'построение точки траектории через определеный промежуток времени и появляется окно с надписью "НЕДОЛЕТ", "ПЕРЕЛЕТ", "ПОПАЛ"

T = T + terval / 1000

y = v0 * Sin(a) * T - g * T ^ 2 / 2

x = v0 * Cos(a) * T

If y < 0 Then

Timer1.Enabled = False

Select Case x

Case Is < 10

MsgBox ("НЕДОЛЕТ")

Case Is > 11

MsgBox ("ПЕРЕЛЕТ")

Case Else

MsgBox ("ПОПАЛ")

End Select

Else

x = v0 * Cos(a) * T

Picture1.PSet (x, y)

End If

End Sub

Изолинии

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


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

Рисунок 5 – Пространственная сетка

Зададим некоторый, совершенно условный, пространственный шаг h между соседними узлами по горизонтали и вспомогательную систему ко­ординат, в которой узел (1, 1) имеет координату (0, 0), узел (1, 2) - коорди­нату (h , 0), узел (1, 3)- координату (2 h, 0) и т.д. Если шаг по вертикали h, то узел (i,j) в этой системе имеет координату ((j-1)*h, (i-1)*h).

Предварительно найдем в таблице наибольшее и наименьшее значе­ния величин ai,j - допустим, это аmin и атаx. Пусть b - некоторое промежу­точное значение: аmin < b < атаx Обсудим в общих чертах, как построить изолинию А = b. Будем для этого (в цикле) просматривать вначале все па­ры ближайших чисел в первой строке таблицы в поисках такой пары, для которой b находится «внутри». Допустим, число b находится между аik и аik+1 ,т.е. либо аik < b < аik+1 .

С помощью линейной интерполяции найдем соответствующую горизонтальную координату точки, в которой А = b.

х=(k-1)*h+*h

(координата у определяется номером горизонтальной линии; в данном случае у = 0). Найденные координаты запомним и просмотрим первую строку в таблице до конца, затем просмотрим вторую строку и т.д. Покон­чив с просмотром строк, мы получим часть точек, соответствующих изо­линии А =b.

После этого займемся просмотром столбцов. Допустим, во втором столбце нашлась пара чисел, для которой число b находится между ар2 и ар+1.2. Она дает следующую точку для изолинии. Закончив просмотр всех столбцов, мы получим максимально возможный набор координат точек,
принадлежащих данной изолинии. Выводя их на экран в нужном масшта­бе, получим точечное изображение изолинии А = b, после чего можем, взяв
другое значение b, построить следующую изолинию.

Задание 4. Построить эквипотенциальные линии электростатического по­ля, созданного двумя зарядами.

Теоретическое описание исследуемой модели.

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

Разработка алгоритма.

Поле создается системой точечных электрических зарядов Q1, …,Qp, координаты которых равны соответственно 1, у1), … р, ур). Типичная процедура построения состоит в следующем. Выберем по осям х, у шаги hх ,hy и покроем плоскость сеткой, образованной прямыми, параллельными осям х и у, отстоящими друг от друга на расстояниях hх, hу соответственно. Точки пересечения этих прямых — узлы сетки. Значения потенциала, создаваемого системой зарядов Q1, ..., Qp в узле (k,i), соглас­но принципу суперпозиций таково:

Фik =

Ограничимся прямоугольной областью в плоскости ху: [hx, тhх] по оси х и [-пhy, пhу] по оси у. В этой области (2т+1) (2п+1) узлов. Вычислим зна­чение потенциала в каждом из них по указанным формулам. В результате получим матрицу значений потенциала.

Зафиксируем некоторое значение потенциала и построим изоли­нию, соответствующую этому значению. Для этого проходим, к примеру, по i-ой горизонтальной линии сетки и ищем среди ее узлов такие соедине­ния значений потенциала, в которых "захватывают" между собой; при­знаком этого может служить выполнение неравенства 1k-)(Фi,k+1-) < 0.

Если такая пара узлов найдена, то координату точки, в которой Ф =, най­дем следующем образом: x=khx+,y=ihy.

Найдя в данной горизонтали все такие точки, перейдем к следующей гори­зонтали, пока не исчерпаем их все. Для этого нужно совершить двойной циклический проход: во внешнем цикле перебирать i от -n до +n, во внут­реннем перебирать k от до +т. После этого следует аналогично заняться поиском нужных точек на вертикальных линиях сетки. Формулы анало­гичны:

у =ihy+x=khx.

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

Первая часть - визуальное программирование.

Линии равного потенциала будем выводить на форму в событии ее активизации (рис. 6,7)

Вторая часть - написание кода программы.

  1. Описание переменных и констант, используемых в программе:

Const n = 100 'сетка

Const e0 = 0.00000000000885 'электрическая постоянная

Const k = 2 'количество зарядов

Const pi = 3.14159265358979

Dim f(0 To n, 0 To n) 'значение потенциала в узлах

Dim q(1 To k) 'величина зарядов

Dim x(1 To k) 'координаты X зарядов от 0 до 1

Dim y(1 To k) 'координаты Y зарядов от 0 до 1

Dim g(1 To 11) 'значения потенциала, для построения эквипотенциальных линий

2. Программный код написать для события активизации формы:

Private Sub Form_Activate()

3. Первое действие – очистка и масштабирование формы:

Form1.Cls 'очистка формы

Form1.Scale (0, 1)-(1, 0) 'масштабирование формы

  1. Второе действие – присвоение значений входным параметрам:

q(1) = -1 * 0.00000000001: q(2) = -2 * 0.00000000001

x(1) = 0.5: y(1) = 0.4

x(2) = 0.4: y(2) = 0.7

g(1) = -2 'заполнение массива значений потенциала для построения эквипотенциальных линий

For i = 2 To 11

g(i) = g(i - 1) + 0.6

Next i

  1. Третье – рисование зарядов

Form1.ForeColor = vbWhite 'рисование зарядов

For i = 1 To k

Form1.Circle (x(i), y(i)), 0.01

Form1.Print (q(i))

Next i

  1. Определить значения потенциала в узлах сетки:

For i = 0 To n 'определение потенциала в узлах сетки

For j = 1 To n

For m = 1 To k

r = Sqr((i / n - x(m)) ^ 2 + (j / n - y(m)) ^ 2)

If r <> 0 Then f(i, j) = f(i, j) + (-1) * q(m) / (r * 4 * pi * e0)

Next m

Next j

Next i

  1. Используя описанный выше алгоритм, построить линии равного потенциала:

For m = 1 To 11 'построение эквипотенциальных поверхностей

b = g(m)

col = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)

Form1.ForeColor = col

For i = 0 To n

For j = 0 To n - 1

If (f(i, j) - b) * (f(i, j + 1) - b) < 0 Then

a = (j + (b - f(i, j)) / (f(i, j + 1) - f(i, j))) / n

Form1.PSet (i / n, a)

End If

Next j

Next i

For j = 0 To n

For i = 0 To n - 1

If (f(i, j) - b) * (f(i + 1, j) - b) < 0 Then

a = (i + (b - f(i, j)) / (f(i + 1, j) - f(i, j))) / n

Form1.PSet (a, j / n)

End If

Next i

Next j

Next m

End Sub

Рисунок 6

Рисунок 7

Моделирование движения точки, совершающей колебания по оси Х и У (построение фигур Лиссажу)

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

Теоретическое описание модели.

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

x(t)= A1sin(w1t+f1); t=0÷2π;

y(t)= A2sin(w2t+f2); f1=0÷2π, f2=0÷2π.

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

Фигуры Лиссажу вписываются в прямоугольник, центр которого сов­падает с началом координат, а стороны параллельны осям ОХ и ОУ и распо­ложены по обе стороны от них на расстояниях соответственно равных А1 и А2. Отношение частот складываемых колебаний w1 и w2 равно отношению касаний соответствующей им фигуры Лиссажу со стороной прямоугольни­ка, параллельной оси ОХ и оси ОУ.

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

Построение модели

Первая часть - визуальное программирование

1. Нанести на форму две надписи (Label1, Label2 ) с формулировкой 1 задачи

(см. рисунок 8).

2. Разместить на форме шесть тек­стовых полей (Техt1, …, Техt6) для ввода амплитуд колебаний, частот и начальных фаз колебаний, а так­же соответствующие текстовым полям надписи с обозначениями вводимых величин (Label3, … Label8 )

В целях упрощения модели устано­вить значения f1 = 0 и f2 = рi/2 с не­возможностью изменения этих значений. Для этого нужно поменять свойства Enabled (доступность) текстовых полей Техt5 и Техt6 на Fа1se и свойству Техt присвоить соответственно: «О», «рi/2».

3. Поместить на форме графическое поле для отображения траектории движения (Picture1).

4. Нанести на форму три кнопки: «моделировать», «очистить», «выход»

назначение которых - вызов соответствующих команд.

Вторая часть - написание кода программы.

1. Описать константу Пи, которая будет использоваться в программе:
Соnst pi = 3.14159265358979 ...

2. При нажатии на кнопку «очистить» графическое поле очищается.

Private Sub Command2_Click()

Picture1.Cls

End Sub

  1. При нажатии на кнопку «выход» программа завершает свою работу.

Private Sub Command3_Click()

End

End Sub

4. При нажатии на кнопку «моделировать» определяются входные пара­метры модели в процессе считывания информации из соответствующих текстовых полей. Осуществляется масштабирование графического поля в соответствии с амплитудами колебания. Рассчитывается положение точки в определенный момент времени (изменяется в интервале от 0 до 2π, т.е. учитывается один период колебания, далее движение точки по такой же траектории). Программный код имеет следующий вид:

Private Sub Command1_Click()

A1 = Val(Text1.Text)

A2 = Val(Text2.Text)

w1 = Val(Text3.Text)

w2 = Val(Text4.Text)

f1 = Val(Text5.Text)

f2 = pi / 2

ax = A1

ay = A2

If A1 = 0 Then ax = 1

If A2 = 0 Then ay = 1

Picture1.Scale (-ax, ay)-(ax, -ay)

For t = 0 To 2 * pi Step 0.0001

x = A1 * Sin(w1 * t + f1)

y = A2 * Sin(w2 * t + f2)

Picture1.PSet (x, y)

Next t

End Sub

Рисунок 8

  1. Анализ полученных результатов

Разработанные программы помогли «увидеть» исследуемые процессы и поэкспериментировать с ними при различных начальных данных. (Приложение 1)

Математическое моделирование является быстро развивающейся об­ластью науки и техники. Среда визуального про­граммирования Visual Basic является идеальным средством для построения и изучения моделей из-за простой реализации основных конструкций, дос­тупного интерфейса.

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

Литература

1. Волчёнков Н.Г. Программирование на Visual Basic 6: В 3-х ч. Часть 2. - М.: ИНФРА-М, 2002. - 280 с.

2. Информатика: Учеб. пособие для студ. пед. вузов / А.В. Могилев, Н.И. Пак. Е.К. Хеннер; Под ред. Е.К. Хеннера. - 2-е изд., стер. - М.: Изд. Центр «Академия», 2001. - 816 с.

3. Паньгина Н.Н. Первое знакомство с Visual Basic: Заочная школа программирования. Занятие 1: Учебное пособие. - СПб.: Издательство ЦПО «Информатизация образования», 2001. - 26 с.

4. Паньгина Н.Н. Работа с файлами и графикой в Visual Basic: Заоч­ная школа программирования. Занятие 2: Учебное пособие. - СПб.: Изда­тельство ЦПО «Информатизация образования», 2001. - 24 с.

5. Райтингер М., Муч Г. Visual Basic 6.0: для пользователя: пер с нем. - К.: Издательская группа ВНУ, 1999. -416 с.

6. Угринович Н.Д. Практикум по информатике информационным технологиям. Учебное пособие для общеобразовательных учреждений / Н.Д. Угринович, Л.Л. Босова, Н.И. Михайлова. - М.: Бином. Лаборатория Знаний, 2002.400 с: ил.

7. Киселева А.А. Основы программирования и моделирования в Visual Basic: учебно-методическое пособие: Издательство МОУ ДПО ИПК.- Новокузнецк, 2005.115с.

1

Смотреть полностью


Скачать документ

Похожие документы:

  1. Computer Using Educators, Inc., Usa центр новых педагогических технологий Московский областной общественный фонд новых технологий в образовании «Байтик» ано «ито» Материалы

    Документ
    Материалы XV Международной конференции «Применение новых технологий в образовании», 29 – 30 июня 2004г. г. Троицк, Московской области - МОО Фонд новых технологий в образовании «Байтик».
  2. Н. И. Лобачевского в. Н. Ясенев автоматизированные информационные системы в экономике учебно-методическое пособие

    Учебно-методическое пособие
    Учебно-методическое пособие "Автоматизированные информационные системы в экономике" предназначено для студентов экономических специально­стей высших учебных заведений.
  3. Информационные технологии управления

    Документ
    Рассмотрены информационные технологии, применяемые в сфере государственного и муниципального управления, в том числе технологии баз данных, текстового поиска, Web-технологии и другие современные технологии.
  4. Программа 30 мая 2007 год 9 часов 00 минут 10 часов 00 минут регистрация участников

    Программа
    3) 10 часов 20 минут – Бочков Н.П.1, Константинов А.Б.1, Миланов Н.О.1, Гольдштейн Д.В.2 1ГУ Российский научный центр хирургии имени академика Б.В.Петровского и 2ЗАО «РеМеТекс», Москва.
  5. Программа конференции дата проведения 19 февраля, 2011 г

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

Другие похожие документы..