Задание 1. Компьютерная модель

«Попадание в площадку тела, брошенного под углом к горизонту»

на языке Visual Basic

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

Качественная описательная модель.

·  мячик мал по сравнению с Землей, поэтому его можно считать материальной точкой;

·  изменение высоты мячика мало, поэтому ускорение свободного падения можно считать постоянной величиной g=9,8 м/с2 и движение по оси Y можно считать равноускоренным;

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

Формальная модель. x = v0·cosα·t

y = v0·sinα·t – g·t2/2

v0·sinα·t – g·t2/2 = 0

t·(v0·sinα – g·t/2) = 0

v0·sinα – g·t/2 = 0

t = (2·v0·sinα)/g

x = (v0·cosα·2·v0·sinα)/g = (v02·sin2α)/g

s ≤ х ≤ s+l

Компьютерная модель.

1

Разместить на форме шесть текстовых полей:

·  txtV0 для ввода значений начальной скорости;

·  txtA для ввода угла бросания;

·  txtS для ввода расстояния до площадки;

·  txtL для ввода длины площадки;

·  txtX для вывода координаты х падения мячика;

·  txtM для вывода текстового сообщения о результатах броска.

2

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

3

Поместить на форму кнопку сmdCalc и создать для нее событийную процедуру, которая обеспечивает присвоение переменным значений, введенных в текстовые поля, вычисление координаты х падения мячика и вывод результатов на форму:

Const G As Single = 9.81

Const Pi As Single = 3.14

Dim V0, A, S, L, T, X, Y As Double, _

I As Integer

Private Sub CmdCalc_Click()

‘ Ввод начальных значений

V0 = Val(txtV0.Text)

A = Val(txtA. Text)

S = Val(txtS. Text)

L = Val(txtL. Text)

‘ Попадание в площадку

X = V0 ^ 2 * Sin(2 * A * Pi / 180) / G

txtX. Text = X

Select Case X

Case Is < S

txtM. Text = «Недолёт"

Case Is > S + L

txtM. Text = «Перелёт"

Case Else

txtM. Text = «Попадание"

End Select

End Sub

 

4

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

‘ Рисование траектории

For T = 0 To 10 Step 0.1

Y = V0 * Sin(A * Pi / 180) * T - G * T * T / 2

X = V0 * Cos(A * Pi / 180) * T

pic1.Scale (0, 10)-(40, -5)

pic1.PSet (X, Y)

Next T

Ось Х

pic1.Line (0, 0)-(40, 0)

For I = 0 To 40 Step 5

pic1.PSet (I, 0)

pic1.Print I

Next I

Ось Y

pic1.Line (0, -5)-(0, 10)

For I = -5 To 10 Step 5

pic1.PSet (0, I)

pic1.Print I

Next I

Площадка

pic1.Line (S, 0.2)-(S + L, 0.2)