Ѕаза знаний студента. –еферат, курсова€, контрольна€, диплом на заказ

курсовые,контрольные,дипломы,рефераты

»спользование €зыка программировани€ Visual Basic дл€ решени€ математических задач — »нформатика, программирование

ѕосмотреть видео по теме –еферата

јттестационна€ работа по информатике за 2005 - 2006 учебный год. равченко ¬алерии ученицы† 10 √ класса Ћице€ є 1

2006 г.

Visual Basic

¬ моей предыдущей работе Ђ омпьютерное моделирование движени€ телї рассматривались возможности €зыка программировани€ QBasic дл€ решени€ математических (профессиональных) задач в услови€х обучени€ учащихс€ средних школ и профессиональных училищ.

ƒальнейшее развитие программировани€ привило к по€влению новых программ адаптированных к операционной системе Windows, и в частности к по€влению Visual Basic. ¬ данной работе € постараюсь показать основные отличи€ и преимущества Visual Basic.

“ак что же такое Visual Basic?

ѕеред начинающими программистами всегда встаЄт один и тот же вопрос, а именно, какой €зык программировани€ выбрать? Ќа чЄм программировать?  онечно лучше начинать с лЄгкого и в то же врем€ мощного €зыка - Visual Basic (VB). »зучив приЄмы программировани€ на VB, можно без особых усилий изучить другие €зыки, такие как Pascal, C++ и др.

—лово "Ѕ≈…—» " (BASIC) - "базовый, основной" - образовано из начальных букв английского выражени€ "”ниверсальный €зык символического кодировани€ дл€ начинающих". Ёто "дл€ начинающих" долго вызывало пренебрежение программистов, причЄм подобное пренебрежение не исчезло до сих пор, несмотр€ на наличие профессиональных изданий VB.

ѕервый IMB PC имел 16-разр€дный бейсик - BASICA, разработанный IBM, а затем вытесненный майкрософтским GW-BASIC и QUICK-BASIC. ¬ последнем была убрана нумераци€ строк и добавлен компил€тор, превращающий бейсик программу в полноценный exe файл. Ќаконец в 1992г. фирмой Microsoft был выпущен VB 1.0 - очень простой €зык программировани€ дл€ Windows 3.1. «атем были выпущены VB 3.0, VB 4.0, VB 5.0 и наконец VB 6.0. ѕоследние две версии мало чем отличаютс€, в шестой версии улучшено €дро и добавлены несколько новых функций. —уществует ещЄ €зык макросов дл€ приложений Microsoft Office (Word, Excel и т.п.). ќн называетс€ VBA (Visual Basic for Application). — его помощью можно манипулировать приложени€ми Office.

ѕриложени€ написанные на Visual Basic отличаютс€ от обычных приложений тем, что требуют дл€ своей работы библиотеку msvbvmX0.dll, котора€ должна присутствовать в каталоге WindowsSystem. ¬ роли X выступает верси€ компил€тора VB. ƒл€ VB5 - msvbvm50.dll, дл€ VB6 - msvbvm60.dll. Ёти библиотеки идут в комплекте с WinME (обе) и Win98 (только msvbvm50.dll), и естественно с более новыми верси€ми этих ќ—.

—реда Visual Basic может с успехом использоватьс€ начинающими пользовател€ми дл€ познани€ секретов программировани€ и увлекательных зан€тий по созданию несложных (поначалу) приложений и, в то же врем€, предоставл€ет мощные инструменты разработки опытным программистам. –азвита€ справочна€ система позволит при построении приложени€ и работе в Visual Basic найти выход из любой ситуации и получить ответ на любой вопрос. Ќачинать работать с Visual Basic можно практически с любым уровнем подготовки.

„то может Visual Basic?

¬ принципе, возможности Visual Basic ничем не ограничены. ¬ы можете расшир€ть возможности VB посредством использовани€ дополнительных функций. Visual Basic позвол€ет использовать библиотеки динамической компоновки (DLL библиотеки), которые также могут широко расширить возможности Visual Basic. Ёти библиотеки могут быть написаны на любом €зыке программировани€.

Ќа VB можно написать любую программу, от обслуживающих рутинные операции ввода данных, до сложных информационных и коммуникационных систем. ¬ —Ўј 60% программных продуктов написаны на VB. ≈сть конечно очень небольшие ограничени€, например, на VB нельз€ написать полноценную DLL библиотеку, драйвер устройства VXD, также в VB нельз€ использовать ассемблер.

”становка и настройка VB

”становка Visual Basic не отличаетс€ особой сложностью, всЄ стандартно. ¬ процессе инсталл€ции необходимо указать компоненты, которые будут установлены на компьютер. ≈сли на жЄстком диске есть место, то лучше выбрать все компоненты, чтобы потом их не пришлось добавл€ть. «десь следует отметить то, что верси€ VB 5.0 поставл€етс€ с файлами помощи (примерно 15ћб), а помощь дл€ VB 6.0 идЄт в комплекте с MSDN, который поставл€етс€ на трЄх дисках. ѕоэтому если у вас шеста€ верси€, записанна€ на одном диске, то будьте уверены, помощи там не будет. Ќо вполне можно вз€ть помощь от п€той версии и использовать еЄ дл€ VB 6.0. ѕосле установки VB перезагрузите компьютер.

»так, компьютер перезагружен. ѕеред работой с VB его необходимо настроить. ƒл€ этого запустите VB (ѕуск->ѕрограммы->Microsoft Visual Basic 6.0->Visual Basic 6). Ќеобходимо зайти в меню Tools->Options, установить галочку "Require Variable Declaration". Ёто избавит от лишних ошибок при автоматическом определении переменных. ƒалее на вкладке Editor Format, в списке Font необходимо указать Courier New Cyr. ≈сли этого не сделать, то VB не будет корректно отображать кириллицу. “акже желательно установить цвет зарезервированных слов в €рко-синий. ƒл€ этого выбрать в списке Code Colors Keyword Text и в поле Foreground указать €рко-синий цвет (седьмой снизу). ¬от и всЄ! Visual Basic готов к работе!

—труктура проекта VB

¬ Visual Basic любой проект состоит из одной или нескольких так называемых форм, кажда€ из которых решает какую-то задачу и состоит из следующих файлов:

-файл формы (расширение frm) - это обычный ASCII текстовый файл, в котором записан весь код, помещЄнный в форму, а также свойства всех помещЄнных на форму элементов управлени€ и самой формы тоже.

-файл формы (расширение frx), содержит бинарную информацию (например картинку в PictureBox) .

-файл проекта (расширение vbp), содержит информацию о проекте

-в файле (расширение vbw) содержитс€ информаци€ о рабочей области проекта (workspace) .

Ёто необходимый минимум. (’от€, бывают и исключени€, например, когда в проекте не используютс€ формы. “огда вместо frm файла, будет bas файл.)

ƒалее перечислены дополнительные файлы, которые могут быть подключены к проекту:

файл каждого модул€ (расширение bas) Ёто текстовый файл.

файл каждого модул€ классов (расширение cls). Ёто текстовый файл.

файл каждого дополнительного элемента управлени€ (расширение ctl) Ёто тоже текстовый файл.

файл ресурсов (расширение res)

другие файлы (ocx, tlb, и т.д...)

«апоминать назначение всех этих файлов не об€зательно, достаточно запомнить 2 файла: frm-файл, в котором хран€тс€ код формы и свойства всех помещЄнных на данную форму элементов управлени€. » bas-файл - модуль. ¬ нЄм могут быть объ€влены глобальные переменные, константы, функции и т.д.  ороче, только код. Ѕез элементов управлени€.

—реда разработки VB

ƒл€ того чтобы пон€ть, как проектировать интерфейс, необходимо разобрать среду разработки Visual Basic. «апустить VB. ¬ по€вившемс€ окне (–ис. 1) необходимо указать тип проекта - "Standart EXE" и нажать ќ .

–ис. 1

Ќа экране по€витс€ следующее окно (–ис 2).

¬ левой части расположена панель с доступными элементами управлени€, с которой можно перетаскивать нужные элементы на форму. ¬ центре находитс€ форма (окно), другими словами рабоча€ область активного приложени€. »м€ новой формы Ц Form1. ¬верху расположена панель инструментов среды разработки. —права расположены окна проекта (Project) и свойств текущего объекта (Properties).

–ис.2

√лавное преимущество работы с объектами в том, что объекты обеспечивают программный код, который уже не требуетс€ писать разработчику. ≈му просто нужно установить свойства объекта и вызвать методы объекта, чтобы побудить объект выполнить требуемые функции. Ќекоторые свойства можно отредактировать только в период выполнени€ программы (RunTime). ћногие объекты имеют одинаковые свойства. Ќапример, свойство Caption. ” формы (Form) Caption Ц это заголовок окна, а у элемента метки (Label) Ц это текст внутри метки.

ƒл€ того чтобы оценить разницу между VB и QBasic, вспомним решение задачи полета €дра (ѕриложение 1). Ќапример: чтобы нарисовать линию в QBasic, котора€ соответствовала бы сетке координат, необходимо каждую точку, линию, черту, положение надписи, цвет описывать соответствующими операторами. ¬ VB этот процесс значительно упрощаетс€, достаточно в левой части рабочей формы вызвать соответствующие элементы управлени€. ƒл€ начала проведем пару линий и разместим на форме два скрола †(вертикальный ЦVscroll и горизонтальный Ц Hscpoll), чтобы получилась примерно картинка, как показано на рис. 3. ѕричем выбрав тот или иной

–ис.3.

элемент, отметив его мышкой, в правой части формы активируетс€ окно Properties, в котором можно просмотреть параметры элементов и изменить их. ѕричем это может касатьс€ как цвета, размеров, положени€ так и числовых величин. ≈сли, при этом кликнуть мышкой по рабочей области формы откроетс€ содержание формы (–ис.4), в данном случае пока не заполненное.

–ис.4.

Ќо не следует забывать, что все что находитс€ на рабочей области формы содержитс€ в файле form1.frm и по мере работы с формой содержимое файла будет мен€тьс€.

„тобы запустить форму необходимо нажать RunStart или просто F5. ¬ыход Ц RunEnd.

–ешение задач в VB

–ешение задачи полета €дра (ѕриложение 1), начнем с определени€ необходимых условий, которые должны быть отображены на экране:

ѕоложение цели прив€зать к положению горизонтального скрола (HScroll);

«адание угла стрельбы прив€зать к положению вертикального скрола (VScroll);

ћаксимально отобразить наиболее важные числовые параметры.

–ешение первого пункта начнем с установки параметров дл€ горизонтального скрола выделив HScroll и активировав свойства текущего объекта (Properties-HScroll). ѕредположим, что заданна€ максимальна€ дальность цели соответствует 15000 м, тогда максимальное значение скрола также должно соответствовать 15000 м. »зменим в графе MAX величину 32767 на 15000 (–ис.5). ј в графе MousePointer установить значение 7-Size NS. ѕосмотреть что из этого вышло можно войд€ через F5.

¬ыведем на экран значение скрола, которое и будет определ€ть дальность до цели. ƒл€ этого в левой части в панели управлени€ элементов выберем элемент Label †и разместим его в любой части рабочей области. ¬ыделим теперь горизонтальный скрол и кликнем его мышкой. јктивируетс€ окно Project1 (содержимое формы). ћежду строк: Private Sub HScroll1_Change() и End Sub введем новые данные :

Label1 = HScroll1

Cls

X1 = Label1 * 0.55 + 500

Line (X1, 4300)-(X1 + 100, 4450), 11, BF

ќбщий вид записи представлен на рис. 6.

–ис. 5.

–ис. 6.

ѕри этом надо учитывать разницу в масштабах координаты ’1 и значени€ HScroll. »х согласование обеспечиваетс€ выражением:

X1 = Label1 * 0.55 + 500

¬ принципе, дл€ каждого конкретного случа€, значени€ коэффициентов (0,55 и 500) могут быть различными и требуют индивидуального подбора.

ќператор CLS обеспечивает обнуление изображени€ цели после каждого обращени€ к HScroll.

¬торым шагом будет редактирование вертикального скрола (VScroll). ƒл€ этого создадим и разместим на рабочей области элемент управлени€ Label 2. ¬ыберем VScroll и в свойствах объекта (Properties-VScroll) изменим значение параметра MAX и Value на 80, что будет соответствовать максимальному углу стрельбы в 80 градусов и начальному положению вертикального скрола в нижней части шкалы. ¬ графе Mouse Pointer можно установить значение 9-Size WE. ј чтобы нижнее положение курсора VScroll1, отображаемое элементом Label2 соответствовало 0, необходимо, активировав окно Properties дл€ VScroll1 и записать в содержание формы:

Private Sub VScroll1_Change()

Label2 = 80 - VScroll1

End Sub

ќбщий вид содержани€ формы представлен на –ис. 7.

–ис. 7.

—ледующим шагом будет введение активной кнопки, нажатием на которую будет осуществл€тьс€ старт (ѕуск, ¬ыстрел). ƒл€ этого на панели управлени€ выберем новый элемент Command1 †и устанавливаем его в любом удобном месте рабочей области формы. ѕри этом в свойствах элемента Properties-Command1 в строке Caption пропишем новое им€ ЂStartї. јктивировав содержание формы запишем дл€ элемента Command1 следующие строки, вз€тые из уже решенной задачи полета €дра в QBasic (ѕриложение 1), правда пока без учета сопротивлени€ воздуха:

Private Sub Command1_Click()

x0 = 480

y0 = 4440

X2 = x0

Y2 = y0

v = 150

g = 9.8

a = Label2

f = a * 3.14 / 180

100 q = 0.0001

t = t + q

s = v * t * Cos(f) * 2

h = (v * t * Sin(f) - (g * t ^ 2) / 2) * 5.5

Line (X2, Y2)-(x0 + s, y0 - h), 14

X2 = x0 + s

Y2 = y0 - h

If h < 0 Then GoTo 200

GoTo 100

200 End Sub

«начение координат х0 и у0 (начальна€ точка старта) подбираютс€ индивидуально.

¬ целом, на этом, задачу можно считать выполненной. Ќа –ис.8 и –ис.9 отображен общий вид формы.

ƒл€ большей нагл€дности можно вести еще р€д элементов, изменить цвет, ввести коэффициент сопротивлени€ воздуха.  ак вариант, в приложении 2 показано содержание файла form*.frm , дл€ данного случа€, а рис. 10 и рис. 11 отображает общий вид формы.

–ис. 8.

–ис. 9

–ис. 10

–ис. 11

»спользование таймера в VB

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

¬ предлагаемом примере (ѕриложение 3), решена задача наведени€ в ручную ракеты (ѕ“”–—) на цель. ƒл€ решени€ задачи использованы п€ть таймеров, причем данное решение не €вл€етс€ самым удачным и имеет р€д погрешностей. Ќо дл€ получени€ начальных навыков в программировании в VB вполне приемлем. ќбщий вид формы представлен на –ис. 12.

–ис.12.

ќсобенностью составлени€, в этом случае, программы €вл€етс€ то, что в самом начале указываетс€ перечень элементов, которые, так или иначе, завис€т от таймеров:

Private Sub Form_Load()

Label1.Caption = 0

Label2.Caption = 0

Label3.Caption = 0

Label4.Caption = 0

Label5.Caption = 0

Label6.Caption = 0

Label13.Caption = 0

Label15.Caption = 0

Label17.Caption = 0

End Sub

ѕервый таймер (Private Sub Timer1_Timer()), запускаетс€ сразу после начала программы, так как по умолчанию в свойствах элемента Timer1 в графе interval установлена 1, что соответствует 1мл.сек. ѕри этом положение цели (танка) начинает мен€тьс€ в соответствию с записью:

Label1.Caption = Label1.Caption + Timer1.Interval

a = Label1.Caption

Timer1 работает до тех пор пока ракета не выйдет за приделы 13000 или не попадет в цель:

If X0 > 13000 Then Timer1.Interval = 0

If Label17.Caption < 150 Then Timer1.Interval = 0

ќстальные таймеры в начальный момент отключены, т.е. дл€ каждого таймера в графе interval установлен 0.

–абота таймера 3 начинаетс€ после нажати€ кнопки ѕ”— :

Private Sub Command1_Click()

Rem старт ѕ“”–—

Timer3.Interval = 1

End Sub

ѕолет ракеты описываетс€ следующим блоком:

T = Timer3.Interval

Rem ѕолет ѕ“”–—

X1 = V * T * Cos(f - Rnd * 0.1)

Y1 = V * T * Sin(f + Rnd * 0.1)

Label5.Caption = (Label5.Caption + X1)

Label4.Caption = (Label4.Caption + Y1)

Label6.Caption = 12000 - a * k

X0 = Label5.Caption

Y0 = -Label4.Caption

Ќачальный угол стрельбы задаетс€ положением скрола и может мен€тьс€ в пределах от +25 до -15. ѕоложение скрола, по умолчанию, в свойствах установлено как: max 40; value 10.

ј строка:

Label3.Caption = (25 - VScroll1)

определ€ет, что начальный угол стрельбы Label3.Caption =15.

“аймер 2 начинает работать, если высота полета ѕ“”–— становитс€ меньше -50, т.е. снар€д врезалс€ в землю:

If Y0 > 50 Then Timer2.Interval = 1,

при этом запускаетс€ программа взрыва:

Private Sub Timer2_Timer()

Rem: фейерверк

Rem: a угол разлета

Rem: r радиус разлета, n количество осколков

Rem: коэффициенты 1 и 4 определ€ют ширину и высоту разлета

X1 = Label5.Caption

Y1 = -Label4.Caption

r = 200

n = 500

Dim x(10), y(10)

Randomize (Label2.Caption)

For i = 1 To 2

a = -6.28 * Rnd / 2

rn = r * Rnd

xc = X1 + 400 + rn * 1.5 * Cos(a)

yc = Y1 + 5600 + rn * 5 * Sin(a)

PSet (xc, yc), &HFFFF80 * Rnd + &HC0C0FF * Rnd

Next

If Label1.Caption > 200 Then Timer2.Interval = 0

End Sub

ѕри этом таймер 3 остановитс€ при дальнейшем опускании снар€да до -100:

If Y0 > 100 Then Timer3.Interval = 0

ѕри достижении ракеты цели по дальности:

If Label5.Caption > 11500 - (Label1.Caption) Then Timer4.Interval = 1

начинает работать таймер 4. ¬ этом случае провер€етс€ высота полета, и если она меньше 200 включаетс€ таймер 5:

Private Sub Timer4_Timer()

If Label4.Caption < 200 Then Timer5.Interval = 1

End Sub

«апускаетс€ программа взрыва:

Private Sub Timer5_Timer()

X0 = Label5.Caption

Y0 = -Label4.Caption

r = 100

n = 100

Dim x(100), y(100)

Randomize (Label2.Caption)

For i = 1 To 5

a = -6.28 * Rnd / 2

rn = r * Rnd

xc = X0 + 400 + rn * 3 * Cos(a)

yc = Y0 + 5600 + rn * 5 * Sin(a)

PSet (xc, yc), &HFFFF80 * Rnd + &HC0C0FF * Rnd

Next

End Sub

» если сохран€етс€ тенденци€ к снижению снар€да, то таймер 1 останавливаетс€:

If Label17.Caption < 150 Then Timer1.Interval = 0

÷ель поражена (–ис.13).

–ис.13

«аключение

“аким образом, €зык программировани€ Visual Basic, нагл€дно позвол€ет смоделировать физический процесс, получить конкретные результаты и навыки. ќтличительной особенностью VB, €вл€етс€ возможность работы его непосредственно в среде Windows, что значительно повышает нагл€дность, красочность программы и гибкость в ее применении.

Ќеобходимо еще раз подчеркнуть, что создаваемые объекты сразу же обеспечены программным кодом и дл€ них приемлем метод перет€гивани€, что весьма распространено Windows.

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

—писок литературы

 равченко ¬. ѕрограммирование. Ђ омпьютерное моделирование движени€ телї. ”чебно Ц исследовательска€ работа учащейс€ 9 класса г.  унгур 2005 Ц 30 с.

ƒж. –адер.,  . ћиллсап. Ѕейсик дл€ персонального компьютера фирмы IBM: ѕер. с англ. Ц ћ.: –адио и св€зь, 1991. Ц 30 л.: ил.

–. ћкдона. ќсновы микрокомпьютерных вычислений: ѕер. с англ./ “.√.Ќикольской; ѕод ред. ¬. ‘. Ўальгина. Ц ћ.: ¬ысш. Ўкола., 1989. Ц 272 с.: ил.

«адачи и упражнени€ по программированию: ѕракт. ѕособие дл€ ѕ“”/ ѕод ред. ј. я. —авельева.  н. 2. “€жела€ промышленность и транспорт/ ¬.≈.јлексеев, ј.—. ¬аулин. Ц 2-е изд., доп. Ц ћ.: ¬ысш. шк., 1989-112 с.: ил.

ј. ¬. ѕерышкин., ≈. ћ. √утник. ‘изика. 10 кл.: Ђ”чеб. дл€ общеобразоват. учеб. заведений Ц ћ.: ƒрофа, 2002.

». ƒ. ѕомбрик, Ќ. ј. Ўевченко. јэродинамика. »зд. третье, исправленное и дополненное. ћ., ¬оенное издательство, 1972 Ц 96 с.: —ѕƒ

√. ». —ветозарова. ќ—Ќќ¬џ ѕ–» ЋјƒЌќ… »Ќ‘ќ–ћј“» ». –аздел: ќписание €зыка “урбо-Ѕейсик. —правочное пособие.

http://www.codenet.ru/progr/vbasic/first.php

http://vb.hut.ru/vbnovice/lessons.htm

http://vbzero.narod.ru/loading.htm

http://vbzero.narod.ru/site.htm

http://vbzero.narod.ru/project.htm

http://www.tam.ru/guide/

http://www.codenet.ru/progr/vbasic/menu/vbhelp_01.php

ѕриложение 1

REM яƒ–ќ

5 INPUT Ђ ¬вести угол стрельбы от 5 до 80 градї; a

7 IF a < 5 THEN 10

IF a > 80 THEN 20

GOTO 40

10 INPUT Ђ ”гол должен быть >=5ї; a

GOTO 7

20 INPUT Ђ ”гол должен быть <=80ї; a

GOTO 7

40 INPUT Ђ ¬вести дальность до цели от 200 до 5000 мї; l

45 IF l < 200 THEN 50

IF l > 5000 THEN 60

GOTO 70

50 INPUT Ђ –ассто€ние до цели должно быть >=200ї; l

GOTO 45

60 INPUT Ђ –ассто€ние до цели должно быть <=5000ї; l

GOTO 45

70 INPUT Ђ ƒл€ выстрела нажать F1ї; enter

REM построение координат

SCREEN 9:

x0 = 50

y0 = 300

x1 = 600

y1 = 50

x2 = 50

y2 = 300

REM координата Y

LINE (x0, y0)-(x0, y1), 12

LOCATE 18, 4: PRINT У250Ф

LOCATE 14, 4: PRINT У500Ф

LOCATE 10, 4: PRINT У750Ф

LOCATE 6, 4: PRINT У1000Ф

LINE (48, 245)-(52, 245), 11

LINE (48, 190)-(52, 190), 11

LINE (48, 135)-(52, 135), 11

LINE (48, 80)-(52, 80), 11

REM координата X

LINE (x0, y0)-(x1, y0), 12

LOCATE 23, 19: PRINT У1000Ф

LOCATE 23, 31: PRINT У2000Ф

LOCATE 23, 44: PRINT У3000Ф

LOCATE 23, 56: PRINT У4000Ф

LOCATE 23, 69: PRINT У5000Ф

LINE (150, 302)-(150, 298), 11

LINE (250, 302)-(250, 298), 11

LINE (350, 302)-(350, 298), 11

LINE (450, 302)-(450, 298), 11

LINE (550, 302)-(550, 298), 11

REM ÷≈Ћ№

LINE (x0 + l / 10, 299)-(x0 + l / 10 + 5, 299), 10

LINE (x0 + l / 10, 298)-(x0 + l / 10 + 5, 298), 10

REM показани€

LOCATE 1, 6: PRINT УV m/sФ

LOCATE 2, 6: PRINT УH mФ

LOCATE 2, 24: PRINT УS mФ

LOCATE 1, 24: PRINT УT sФ

80 KEY(1) ON

ON KEY(1) GOSUB 90

GOTO 80

REM полет

90 v = 200

g = 9.8

f = a * 3.14 / 180

100 q = .01

t = t + q

REM k коэффициент сопротивлени€ воздуха

k = .016

vs = v * COS(f) Ц (k Ц k / (k + v * COS(f)))

vh = v * SIN(f) Ц (k Ц k / (k + v * SIN(f)))

s = vs * t * 2

h = (vh * t Ц (g * t ^ 2) / 2) * 5.5

v = SQR(vs ^ 2 + vh ^ 2)

LINE (x2, y2)-(x0 + s / 20, y0 Ц h / 25), 14

x2 = x0 + s / 20

y2 = y0 Ц h / 25

LOCATE 1, 12: PRINT v

LOCATE 2, 12: PRINT h / 5.5

LOCATE 2, 28: PRINT s / 2

LOCATE 1, 28: PRINT t

IF h < 0 THEN 200

GOTO 100

200 REM взрыв

r = 30

n = 500

REM: a угол разлета

REM: r радиус разлета, n количество осколков

REM: коэффициенты 0.5 и 1 определ€ют ширину и высоту разлета

DIM x(n), y(n)

RANDOMIZE (TIMER)

FOR I = 1 TO n

a = -6.28 * RND / 2

rn = r * RND

xc = x2 + rn * .5 * COS(a)

yc = y2 + rn * 1 * SIN(a)

PSET (xc, yc), 9 + 9 * RND

PRESET (x(i), y(i))

NEXT

END

ѕриложение 2

VERSION 5.00

Begin VB.Form Form1

BackColor† = &H8000000D&

BorderStyle †= 1 СFixed Single

Caption† †= УForm1Ф

ClientHeight = 7770

ClientLeft† = 45

ClientTop† = 435

ClientWidth †= 8670

FillColor† = &H00C0FFFF&

LinkTopic† = УForm1Ф

MaxButton† = 0 СFalse

MinButton† = 0 СFalse

ScaleHeight †= 7770

ScaleWidth† = 8670

StartUpPosition = 3 СWindows Default

Begin VB.CommandButton Command1

Caption† †= УѕускФ

Height†† = 495

Left†† = 720

TabIndex† = 2

Top†† †= 5280

Width†† = 1215

End

Begin VB.VscrollBar Vscroll1

Height†† = 1935

Left†† = 240

Max†† †= 80

MousePointer = 9 СSize W E

TabIndex† = 1

TabStop† †= 0 СFalse

Top†† †= 2400

Value†† = 80

Width†† = 255

End

Begin VB.HscrollBar Hscroll1

Height†† = 255

Left†† = 240

Max†† †= 15000

Min†† †= 10

MousePointer = 7 СSize N S

TabIndex† = 0

Top†† †= 4800

Value†† = 100

Width†† = 8295

End

Begin VB.Label Label9

Caption† †= УќшибкаФ

Height†† = 375

Left†† = 2160

TabIndex† = 11

Top†† †= 5400

Width†† = 975

End

Begin VB.Line Line1

X1††† = 600

X2††† = 600

Y1††† = 4680

Y2††† = 480

End

Begin VB.Label Label8

Caption† †= У0Ф

Height†† = 375

Left†† = 3120

TabIndex† = 10

Top†† †= 5400

Width†† = 1095

End

Begin VB.Label Label7

Caption† †= УƒальностьФ

Height†† = 375

Left†† = 2160

TabIndex† = 9

Top†† †= 5880

Width†† = 975

End

Begin VB.Label Label6

Caption† †= Уугол(градус)Ф

Height†† = 375

Left†† = 4800

TabIndex† = 8

Top†† †= 5880

Width†† = 975

End

Begin VB.Label Label5

Caption† †= Удист(м)Ф

Height†† = 375

Left†† = 4800

TabIndex† = 7

Top†† †= 5400

Width†† = 975

End

Begin VB.Label Label4

Caption† †= УLabel4Ф

Height†† = 15

Left†† = 5040

TabIndex† = 6

Top†† †= 6000

Width†† = 135

End

Begin VB.Label Label3

BackColor† = &H80000018&

Caption† †= Ђ0ї

Height†† = 375

Left†† = 3120

TabIndex† = 5

Top†† †= 5880

Width†† = 1095

End

Begin VB.Label Label2

BackColor† = &H80000018&

Caption† †= Ђ0ї

Height†† = 375

Left†† = 5760

TabIndex† = 4

Top†† †= 5880

Width†† = 1095

End

Begin VB.Label Label1

BackColor† = &H80000018&

Caption† †= Ђ0ї

Height†† = 375

Left†† = 5760

TabIndex† = 3

Top†† †= 5400

Width†† = 1095

End

Begin VB.Line Line2

X1††† = 600

X2††† = 8400

Y1††† = 4680

Y2††† = 4680

End

End

Attribute VB_Name = УForm1Ф

Attribute VB_GlobalNameSpace = False

Attribute VB_Creatable = False

Attribute VB_PredeclaredId = True

Attribute VB_Exposed = False

Private Sub Hscroll1_Change()

Cls

Label1 = Hscroll1

X1 = Hscroll1 * 0.507

Line (X1 + 550, 4500)-(X1 + 600, 4650), &HC0FFFF, BF

End Sub

Private Sub Vscroll1_Change()

Label2 =80 Ц Vscroll1

End Sub

Private Sub Command1_Click()

X0 = 600

Y0 = 4680

X2 = X0

Y2 = Y0

v = 300

g = 9.8

a = Label2

f = a * 3.14 / 180

100 q = 0.00005

t = t + q

Rem k Ц коэффициент сопротивлени€ воздуха

k = 0.0001

vs = v * Cos(f) Ц (k Ц k / (k + v * Cos(f)))

vh = v * Sin(f) Ц (k Ц k / (k + v * Sin(f)))

s = vs * t

h = (vh * t Ц (g * t ^ 2) / 2)

s = v * t * Cos(f)

h = v * t * Sin(f) Ц (g * t ^ 2) / 2

v = Sqr(vs ^ 2 + vh ^ 2)

Line (X2, Y2)-(X0 + s, Y0 Ц h), &HFF&

X2 = X0 + s

Y2 = Y0 Ц h

If h < 0 Then GoTo 200

GoTo 100

200 Label3 = s * 4.32 1

v = X1 2 * 2

Label8 = Hscroll1 Ц s * 4.32 1

End Sub

ѕриложение 3

Private Sub Form_Load()

Label1.Caption = 0

Label2.Caption = 0

Label3.Caption = 0

Label4.Caption = 0

Label5.Caption = 0

Label6.Caption = 0

Label13.Caption = 0

Label15.Caption = 0

Label17.Caption = 0

End Sub

Private Sub Timer1_Timer()

Label1.Caption = Label1.Caption + Timer1.Interval

Label2.Caption = Label2.Caption + Timer2.Interval

Label13.Caption = Label13.Caption + Timer3.Interval

Label15.Caption = Label15.Caption + Timer4.Interval

Label17.Caption = Label17.Caption + Timer5.Interval

a = Label1.Caption

T = Timer3.Interval

k = 1.2

V = 30

Label3.Caption = (250 - VScroll1) 10

q = Label3.Caption

f = q * 3.14 / 180

Rem ѕоверхность

Line (14850, 5640)-(350, 5820), &H80000002, BF

Rem “анк

Line (12000 - a * k, 5620)-(12850 - a * k, 5520), &HFFFF&, BF

Line (11920 - a * k, 5540)-(12000 - a * k, 5530), &HFFFF&, BF

Line (11900 - a * k, 5550)-(12000 - a * k, 5540), &HFFFF&, BF

Line (11920 - a * k, 5560)-(12000 - a * k, 5550), &HFFFF&, BF

Line (11940 - a * k, 5570)-(12000 - a * k, 5560), &HFFFF&, BF

Line (11950 - a * k, 5590)-(12000 - a * k, 5570), &HFFFF&, BF

Line (11970 - a * k, 5600)-(12000 - a * k, 5590), &HFFFF&, BF

Line (12825 - a * k, 5600)-(12900 - a * k, 5580), &H8000000F, BF

Line (12800 - a * k, 5620)-(12900 - a * k, 5600), &H8000000F, BF

Line (12850 - a * k, 5620)-(13950 - a * k, 5520), &H8000000F, BF

Rem башн€ танка

Line (12200 - a * k, 5440)-(12650 - a * k, 5500), &HFFFF&, BF

Line (11900 - a * k, 5460)-(12200 - a * k, 5460), &HFFFF&

Line (12650 - a * k, 5440)-(12750 - a * k, 5500), &H8000000F, BF

Rem ѕолет ѕ“”–—

X1 = V * T * Cos(f - Rnd * 0.1)

Y1 = V * T * Sin(f + Rnd * 0.1)

Label5.Caption = (Label5.Caption + X1)

Label4.Caption = (Label4.Caption + Y1)

Label6.Caption = 12000 - a * k

X0 = Label5.Caption

Y0 = -Label4.Caption

Rem ѕ“”–—

Line (X0 + 300, 5550 + Y0)-(X0 + 400, 5500 + Y0), &H8000000F, BF

Line (X0 + 300, 5550 + Y0)-(X0 + 500, 5600 + Y0), &H8000000F, BF

Line (X0 + 300, 5450 + Y0)-(X0 + 550, 5500 + Y0), &H8000000F, BF

Line (400 + X0, 5500 + Y0)-(420 + X0, 5550 + Y0), &HFF&, BF

Line (400 + X0, 5525 + Y0)-(550 + X0, 5525 + Y0), &HFF&

Rem дым

X2 = 12820 - a * k

Y2 = 5620

r = 30

n = 1

Dim x(10), y(10)

Randomize (Label1.Caption)

For i = 1 To 50

a = -6.28 * Rnd / 6

rn = r * Rnd

xc = X2 + rn * 9 * Cos(a)

yc = Y2 + rn * 3 * Sin(a)

PSet (xc, yc), &HFFFF80 * Rnd + &HC0C0FF * Rnd

Next

If X0 > 13000 Then Timer1.Interval = 0

If Y0 > 50 Then Timer2.Interval = 1

If Y0 > 100 Then Timer3.Interval = 0

If Label5.Caption > 11500 - (Label1.Caption) Then Timer4.Interval = 1

End Sub

Private Sub Command1_Click()

Rem старт ѕ“”–—

Timer3.Interval = 1

End Sub

Private Sub Timer2_Timer()

Rem: фейерверк

Rem: a угол разлета

Rem: r радиус разлета, n количество осколков

Rem: коэффициенты 1 и 4 определ€ют ширину и высоту разлета

X1 = Label5.Caption

Y1 = -Label4.Caption

r = 200

n = 500

Dim x(10), y(10)

Randomize (Label2.Caption)

For i = 1 To 2

a = -6.28 * Rnd / 2

rn = r * Rnd

xc = X1 + 400 + rn * 1.5 * Cos(a)

yc = Y1 + 5600 + rn * 5 * Sin(a)

PSet (xc, yc), &HFFFF80 * Rnd + &HC0C0FF * Rnd

Next

If Label1.Caption > 200 Then Timer2.Interval = 0

End Sub

Private Sub Timer4_Timer()

If Label4.Caption < 200 Then Timer5.Interval = 1

End Sub

Private Sub Timer5_Timer()

X0 = Label5.Caption

Y0 = -Label4.Caption

r = 100

n = 100

Dim x(100), y(100)

Randomize (Label2.Caption)

For i = 1 To 5

a = -6.28 * Rnd / 2

rn = r * Rnd

xc = X0 + 400 + rn * 3 * Cos(a)

yc = Y0 + 5600 + rn * 5 * Sin(a)

PSet (xc, yc), &HFFFF80 * Rnd + &HC0C0FF * Rnd

If Label17.Caption < 150 Then Timer1.Interval = 0

Next

End Sub



јттестационна€ работа по информатике за 2005 - 2006 учебный год. равченко ¬алерии ученицы† 10 √ класса Ћице€ є 1 2006 г. Visual Basic ¬ моей предыдущей работе Ђ омпьютерное моделирование движени€ телї рассматривались возможности €зыка программ

 

 

 

¬нимание! ѕредставленный –еферат находитс€ в открытом доступе в сети »нтернет, и уже неоднократно сдавалс€, возможно, даже в твоем учебном заведении.
—оветуем не рисковать. ”знай, сколько стоит абсолютно уникальный –еферат по твоей теме:

Ќовости образовани€ и науки

«аказать уникальную работу

ѕохожие работы:

—овременные информационные технологии и проблемы археологической информатики
Ќекоторые проблемы формализации гуманитарных знаний (на примере археологии)
 ак поставить »нтернет на службу карьерному росту
 омпьютерное моделирование движени€ тел
Ёволюци€ природы в представлении информационных технологий
Ќейролингвистическое депрограммирование (NLDP). Ќоовирусы Ц нова€ угроза человечеству
ƒве стратегии участи€ в компьютерной революции
»нформационные системы будущего
–аспознавание трехмерных объектов на сложном фоне по части контура
 лассическа€ теори€ информации и еe ограничени€

—вои сданные студенческие работы

присылайте нам на e-mail

Client@Stud-Baza.ru