2.2. Построение и исследование физических моделей. Полет тела, брошенного под углом к горизонту

Задание 1

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

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

По правилам игры установлены следующие размеры площадки:

Положение щита с корзиной:

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

Приоритетными свойствами для моделирования будут начальная скорость мяча, угол, под которым брошен мяч, рост ученика. Будем считать мяч материальной точкой. Отметим на рисунке траекторию полета мяча:

Введем систему координат с началом отсчета в точке бросания мяча xo = 0, yo = 0.

Точка С – точка попадания мяча в корзину – лежит на максимальном расстоянии от точки O. Ее координаты х = S и у = H – h.

Из кинематики известно, что координаты определяются из уравнений:

x = xo + Sx          y = yo + Sy

где , .

В нашем случае a = g, тогда 

Проекции V0 на оси координат:   V0x = Vo cos? ; U0y = Vo sin?.

Следовательно,

S = V0 t cos?,                                                              (1)

.                                                  (2)

Из (1) находим время полета   и подставляем в (2):

.

Получим квадратное уравнение относительно переменной S:

.

Дискриминант .

Если D < 0, то корней у уравнения нет.

Если D ? 0, то корни уравнения ищем по формулам:

     .       

Данное решение представлено в общем виде. Введем ограничения, в соответствии с правилами игры:

Процесс решения будет включать следующее:
- объявление входных переменных:

- ввод значений входных переменных при условиях:

- вычисление расстояния;
- формулировка ответа с учетом размеров баскетбольной площадки.

Приведем фрагмент алгоритма для ввода входного значения Vo:

Аналогично следует организовать ввод угла и роста.

Для написания программы будем использовать объект конфигурации  Обработки.

1. Запустим информационную базу в режиме Конфигуратор.

2. Выделим в дереве конфигурации Обработки, нажмем кнопку Добавить (Ins):

3. В появившемся окне обработки на вкладке Основные введем имя обработки – Баскетбол. При нажатии Enter автоматически будет заполнено свойство Синоним, которое  представит имя в удобном для пользователя виде:

 4.  Перейдем на вкладку Формы Добавить (Ins):

Данная форма будет предназначена для написания обработки (программы)  и будет основной формой –  Готово:

5. В окне формы на вкладке Команды добавим новую команду. Для этого перейдем на закладку Команды в правой верхней области окна и добавим с помощью кнопки Добавить командной панели новую команду, как это показано на рисунке:

6. В окне свойств команды зададим ее имя – НайтиРасстояние (напомним, что в имени не ставятся пробелы, но каждое слово пишется с прописной буквы, в заголовке название появится автоматически в удобном для пользователя виде) и нажатием кнопки просмотра свойства 24 Действие создадим обработчик выполнения действия:

7. Откроется текстовый редактор разработки программного кода.

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

Объявим переменные:

С помощью функции для ввода переменной типа Число вводим начальную скорость. С помощью цикла с предусловием может быть откорректировано введенное пользователем значение так, чтобы начальная скорость удовлетворяла условию 0 < Vo < 30:

Далее вводим угол и рост:

Начальные условия выводим с помощью функции Сообщить:

Переводим градусы в радианы:

Вычисляем дискриминант. Формулу  представляем в виде записи:

Проверяем условия существования корней квадратного уравнения  и вычисляем корни:

Значения корней S1 и S2 нужны для того, чтобы сформулировать ответ:

Скачать код программы

7. Перейдем на закладку Форма и перетащим мышью команду из правого верхнего окна (редактор команд) в левое верхнее окно (редактор элементов):

Запустим программу и введем исходные данные:

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

Задание 2

Усовершенствуйте модель, построенную задании 1. Введите дополнительные параметры для оценки размеров баскетбольного мяча и размеров корзины.

Как исправить синтаксические ошибки

Что делать, если программа зависла или требуется остановить ее из-за неправильного ввода данных?