Dim XMin, YMin, YMax, XMax As Integer



Const PI = 3.14159265

Const g = 9.8

Координатную сетку нарисуем следующим образом.

Dim v0, h0, D, a, L As Double
Dim XMin, YMin, YMax, XMax As Integer
Const PI = 3.14159265
Const g = 9.8

Private Sub cmdNewScale_Click()
XMin = txtMinX
YMin = txtMinY
XMax = txtMaxX
YMax = txtMaxY
picGrafic.Cls
SetScale
End Sub

Private Sub Form_Load()
XMin = -1
YMin = -1
YMax = 10
XMax = 10

txtMinX = XMin
txtMinY = YMin
txtMaxX = XMax
txtMaxY = YMax

SetScale
End Sub

Private Sub SetScale()

picGrafic.Scale (XMin, YMax)-(XMax, YMin)
'координатная сетка
For x = XMin To XMax
picGrafic.Line (x, YMax)-(x, YMin), RGB(240, 240, 240)
Next x

For y = YMin To YMax
picGrafic.Line (XMin, y)-(XMax, y), RGB(240, 240, 240)
Next y

'оси координат
picGrafic.Line (0, YMin)-(0, YMax), RGB(150, 150, 150)
picGrafic.Line (XMin, 0)-(XMax, 0), RGB(150, 150, 150)

'подпись осей
picGrafic.ForeColor = RGB(150, 150, 150)

For x = XMix To XMax 'Step Int((XMax - XMin) / 5)
picGrafic.CurrentX = x
picGrafic.CurrentY = 0
picGrafic.Print x
Next x

For y = YMix To YMax 'Step Int((YMax - YMin) / 5)
picGrafic.CurrentX = 0
picGrafic.CurrentY = y
picGrafic.Print y
Next y

picGrafic.ForeColor = RGB(100, 0, 0)
picGrafic.CurrentX = XMax - picGrafic.TextWidth("X, м")
picGrafic.CurrentY = 0 - picGrafic.TextHeight("X, м")
picGrafic.Print "X, м"
picGrafic.CurrentX = 0 - picGrafic.TextWidth("Y, м")
picGrafic.CurrentY = YMax
picGrafic.Print "Y, м"
End Sub

Вычисление угла и дальности полета проведем по рассмотренным выше формулам.

Private Sub cmdCalculate_Click()
h0 = Val(txtH0)
v0 = Val(txtV0)
aa = 0 'искомый угол
maxL = 0 'максимальная дальность полета
For a = 0 To 90
D = (2 * v0 * Sin(a * (PI / 180))) ^ 2 + 4 * g * 2 * h0
t1 = (2 * v0 * Sin(a * (PI / 180)) + Sqr(D)) / (2 * g)
L = v0 * Cos(a * (PI / 180)) * t1
If L >= maxL Then
maxL = L
aa = a
End If
Next
lblResultA.Caption = aa
lblResultL.Caption = maxL
End Sub

Напишем код рисования графика движения тела.

Private Sub cmdPaint_Click()
h0 = Val(txtH0)
v0 = Val(txtV0)
a = Val(txtA0)
D = (2 * v0 * Sin(a * (PI / 180))) ^ 2 + 4 * g * 2 * h0
t1 = (2 * v0 * Sin(a * (PI / 180)) + Sqr(D)) / (2 * g)
For t = 0 To t1 Step 0.001
x = v0 * Cos(a * (PI / 180)) * t
y = h0 + v0 * Sin(a * (PI / 180)) * t - g * t * t / 2
picGrafic.PSet (x, y), RGB(0, 0, 200)
Next t
End Sub

Private Sub cmdClear_Click()
picGrafic.Cls
SetScale
End Sub

Все. Приложение готово.

 

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

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


Дата добавления: 2022-06-11; просмотров: 23; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!