Информатика • 11 класс
745

Моделирование движения (C++)

  • Способы физического моделирования:
    • использование графических средств (Sigmaplot, QtiPlot);
    • использование прикладных средств для выполнения вычислений (MS Excel, Maple, Mathcad);
    • программирование (Pascal, C++, Java).

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

    1. Цель определить время падения и скорость столкновения.
    2. Записываем кинематическое уравнение движения в проекциях на оси координат, задаём численное значение g и начальные значения координат и проекций скорости.
    3. Разрабатываем программный код.
    4. Запускаем компьютерную модель с различными входными параметрами, убеждаемся в её работоспособности.
    5. Изменяя закодированные начальные данные (начальные значения координат и скоростей), анализируем модель.

int main (){
int Ro_shar, Ro_sreda, i, n;
{{double h, g, r, t, y, dt, m, k1, k2, Mju, v0, v;

Ro_shar = 7800, Ro_sreda = 1000;
Mju = 1.002, h = 10, v0 = 0,r = 0.05, g = 9.8;
k1 = 6 * 3.14 * Mju * r;
k2 = 0.2 * 3.14 * r * r * Ro_sreda;
m = 4 / 3 * 3.14 * r * r * r * Ro_shar;
cout << "Шаг по времени:";
cin >> dt;
cout << "Число шагов:";

cin >> n;

i = 0, t = 0, v = v0;
y = h + v * dt;
int step = 0;
while (y > 0) {
i = i + 1; t = t + dt;
v = v + (k1 * v + k2 * v * v - m * g) / m * dt;
if (i % n == 0) {
cout << setprecision (4) << t << endl;
cout << setprecision (4) << abs (v) << endl;
cout << setprecision (4) << y << endl;
y = y + v * dt; } } 
cout << "Tmax =" << setprecision (4) << t << endl;
cout << "Vmax =" << setprecision (4) << abs (v) << {{endl; } 

Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»
Логотип облако знаний
+7 (499) 322-07-57
info@oblakoz.ru

Контактный центр

МО, г. Долгопрудный,
Лихачевский проезд, 4, стр. 1

Отдел заботы о пользователях

Политика конфиденциальности

© ООО «Физикон Лаб», 2026

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪