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. В окне свойств команды зададим ее имя – НайтиРасстояние (напомним, что в имени не ставятся пробелы, но каждое слово пишется с прописной буквы, в заголовке название появится автоматически в удобном для пользователя виде) и нажатием кнопки просмотра свойства
Действие создадим обработчик выполнения действия:

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

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

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


Начальные условия выводим с помощью функции Сообщить:
![]()
Переводим градусы в радианы:
![]()
Вычисляем дискриминант. Формулу
представляем в виде записи:
![]()
Проверяем условия существования корней квадратного уравнения и вычисляем корни:

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

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

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

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

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