СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Практическая работа «Построение и исследование физических моделей».

Категория: Информатика

Нажмите, чтобы узнать подробности

Практическая работа «Построение и исследование физических моделей».

Просмотр содержимого документа
«Практическая работа «Построение и исследование физических моделей».»

Задача: Тело брошено вертикально вверх с начальной скоростью с некоторой высоты. Определить его местоположение и скорость в заданный момент времени.

Практическая работа «Построение и исследование физических моделей».

Цель: На языке объектно-ориентированного программирования Visual Basic создать проект «Бросание тела», с помощью которого можно исследовать модель движения тела, брошенного вертикально вверх с начальной скоростью с некоторой высоты и определить его месторасположение и скорость в заданный момент времени.

Разделим процесс решения задачи на несколько этапов:

I. Описательная информационная модель.

В нашем случае создается качественная описательная модель процесса движения тела с использованием физических понятий и объектов, идеализированная модель движения объекта. Из условия задачи можно сформулировать следующие основные предположения:

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

  • скорость бросания тела мала, поэтому:

  • ускорение свободного падения считать постоянной величиной;

  • сопротивлением воздуха можно пренебречь.

II. Формализованная информационная модель.

Из курса физики известно, что описанное выше движение является равноускоренным. При заданной начальной скорости (V0 ), начальной высоте (H0) и ускорении свободного падения (g=9,8 м/с) зависимость скорости (V) и высоты (координаты Y) от времени (t) можно описать следующими математическими формулами:

V = Vo - gt,

Y = H0 +V•t - gt2/2.

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

Построим алгоритм решения задачи и его кодирование на языке программирования. Для этого построим алгоритм определения координаты тела в определенный момент времени и закодируем его на языке программирования - Visual Basic.

Алгоритм должен позволять вычислять координату высоты тела над поверхностью земли для различных начальных условий (скорости бросания и первоначальной высоты тела над поверхностью земли) и различных моментов времени. Такой алгоритм будет иметь следующий вид:

  1. Ввести значения для аргументов алгоритма, переменных: V0 (V0 - начальной скорости), H0 (НО - высоты бросания) и T (t- времени).

  1. Вычислить координату и скорость тела.

  1. Напечатать результаты алгоритма, значения переменных: Y (координата) и V (скорость).

Создадим приложение Бросание тела в среде Visual Basic.

Разработка приложения Бросание тела

  1. Запустить Visual Basic.

  2. Создать новый проект командой [File-New-Standard.exe].

Визуальное программирование графического интерфейса. Первый шаг работы над приложением — это разработка графического интерфейса приложения. Графический интерфейс этого приложения должен содержать:

  • пять текстовых полей TextВох: три для ввода данных и два для вывода результатов вычислений;

  • одну кнопку CommandButton для запуска процедуры вычисления координаты и скорости тела.

  • Десять управляющих элементов Label для обозначения переменных и единиц измерения.

3. Поместить на форму, используя Панель инструментов, управляющие элементы: пять текстовых полей (Textl,Text2, Text3, Text4, Text5), одну кнопку (Command1) и десять управляющих элементов (Label1, Label2, Label3, …, Label10).

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

Изменим значение свойства Caption (Надпись) объекта Form1, которое по умолчанию равно Form1, на значение Бросание тела.

Изменим свойства управляющего элемента Command1 (Кнопка). Значение свойства Caption (по умолчанию Command1) заменим на значение Вычислить, а значение свойства Name (по умолчанию Command1) — на CmdCalc.

Для объектов TextBox (Текстовых полей) изменим значение свойства Name. Для ввода значений скорости будем использовать текстовое поле с именем TxtV0, для ввода значений начальной высоты — поле с именем TxtH0, для ввода моментов времени — поле с именем TxtT, для вывода координаты тела — поле с именем TxtY, для вывода скорости тела — поле с именем TxtV.

Значение свойства Text для объектов TextBox обнулим.

Значение свойства Caption для объектов label измение на соответствующие переменные и единицы измерения.

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

4. Присвоить объектам (Form1, Command1, TextBox, Label) новые значения свойств с помощью Окна свойств.

Создание программного кода. На третьем шаге приступим к написанию собственно программы (кодирование событийных процедур в нашем приложении).

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

Данная процедура должна обеспечивать:

  • преобразование значений свойства Text объектов TxtV0, TxtH0, TxtT из строкового типа в числовой (реализуется с помощью функции Val);

  • вычисление высоты и скорости тела и присваивание этих значений переменным и V;

  • вывод значений высоты и скорости тела в текстовые поля путем присваивания значений переменных Y и V свойству Text полей TxtY и TxtV.

Программа должна также обеспечить присвоение значения постоянной величине G (ускорению свободного падения). Таким образом, программа на Visual Basic будет выглядеть следующим образом:

Const G As Single = 9.81

Dim V0, H0, T, Y, V As Single

Private Sub CmdCalc_Click()

V0 = Val(TxtV0.Text)

H0 = Val(TxtH0.Text)

T = Val(TxtT.Text)

Y = H0 + V0 * T - G * T * T / 2

V = V0 - G * T

TxtY.Text = Y

TxtV.Text = V

End Sub

  1. Открыть двойным щелчком по кнопке Вычислить окно редактора кода. В окно кода будет автоматически помещена заготовка для процедуры обработки события Click объекта CmdCalc.

  2. Ввести код событийной процедуры CmdCalc_Click. Создание приложения Бросание тела завершено.

  1. Ввести команду [File-Save Project As...]. - необходимо сохранить проект в выбранном каталоге (в своей папке на жестком диске или на сменном носителе)

IV. Компьютерный эксперимент.

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

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

Запустим приложение на выполнение. После появления окна приложения в текстовые поля можно вводить исходные данные (V0, Н0, Т). В текстовом поле вывода будут появляться значения координаты высоты тела (Y) и скорости (V).

  1. . Ввести команду [Запуск – Старт или F5].

Ввести исходные данные

V0=30 м/с, Н0=10 м, Т=5 с и нажать кнопку Вычислить.

В окнах выводов результатов появятся значения Y=37,3749 и V=-19,050 m/c.

Для исследования модели бросания тела построим график зависимости координаты высоты тела Y от времени Т.

Построение графика. Составим программу построения этого графика. Для ввода начальных значений, т.е. значений начальной скорости и высоты тела воспользуемся функцией InputBox.

Для построения графика необходимо задать для формы Form1, на которой будет строиться график, удобную систему координат, учитывающую диапазоны изменения аргумента и функции. Система координат задается с помощью графического метода Scale.

Аргументом является время Т, для которого выберем диапазон изменения от 0 до 10, а функцией является координата Y, для которой установим диапазон от -50 до 80. Таким образом, координаты левого верхнего угла формы будут (0, 80), а правого нижнего — (10, -50).

Для рисования точек графика на форме воспользуемся графическим методом Pset.

Построение графика будет производиться с помощью цикла со счетчиком, в котором значение аргумента т будет меняться с шагом 0.02 с.

Для построения осей времени и высоты воспользуемся циклами со счетчиком и методами Line, Pset и Print.

'Ââîä íà÷àëüíûõ çíà÷åíèé

V0 = Val(InputBox("Ââåäèòå íà÷àëüíóþ ñêîðîñòü"))

Í0 = Val(InputBox("Ââåäèòå íà÷àëüíóþ âûñîòó"))

'Çàäàíèå ñèñòåìû êîîðäèíàò

Form1.Scale (0, 80)-(10, -50)

'Ïîñòðîåíèå ãðàôèêà

For T = 0 To 10 Step 0.2

Y = H0 + V0 * T - G * T * T / 2

Form1.PSet (T, Y)

Next T

'Îñü âðåìåíè

Form1.Line (0, 0)-(10, 0)

For I = 0 To 10 Step 1

Form1.PSet (I, 0)

Form1.Print I

Next I

'Îñü âûñîòû

Form1.Line (0, -50)-(0, 80)

For I = -50 To 100 Step 10

Form1.PSet (0, I)

Form1.Print I

Next I

После запуска программы можно многократно осуществлять щелчок по кнопке График (объект Command1). Вводя различные значения начальной скорости тела и его высоты мы будем получать графики зависимости координаты высоты тела от времени.

На рисунке приведены два графика: для начальных значений V0 = 10 м/с, Н0 = 5м и для V0 - 30 м/с и Н0 = 10 м (координаты и скорость при таких значениях были вычислены раннее)

V. Анализ полученных результатов и корректировка исследуемой модели.

В нашем алгоритме для получения значения координаты для нескольких моментов времени необходимо запускать алгоритм на выполнение многократно. Целесообразно скорректировать алгоритм и производить вычисление координаты в цикле.

Если при вводе исходных данных мы зададим достаточно большое значение времени Т, то можем получить отрицательное значение координаты Y (высоты тела над поверхностью земли). Однако это противоречит законам физики и здравому смыслу, т.к. тело не может провалиться сквозь землю (за исключением редких случаев, когда оно, например, упадет в глубокую шахту и т.д.).

Следовательно, построенная нами модель движения тела не вполне соответствует реальности. В этом случае необходимо ввести коррективы в саму модель и предусмотреть проверку значения координаты Y (высоты тела над поверхностью земли). Если значение координаты Y получается отрицательным, то в окнах вывода результатов должны появиться нули.

If Y = 0 Then

TxtY.Text = Y

TxtV.Text = V

Else

TxtY.Text = 0

TxtV.Text = 0

End If


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!