Примеры решения задач к
Главе 1
- Координаты брошенного под углом тела
Средняя скорость
движения мотоциклиста
Высота орбиты спутника
Колебания маятника
Комплексные числа
Прыгающий мячик
Умножение на два в
степени
Решение простого
уравнения
Атака подводной лодки
Координаты
брошенного под углом тела
Сначала рассмотрим программу, в которой вычисляются координаты тела,
брошенного под углом к горизонту. Напомним, что если телу в начальный
момент сообщена скорость v и
тело брошено под углом а к
горизонту, то зависимость х-координаты
от
времени
t дается
соотношением х(t) = v cos(a)t
Для у-координаты закон
движения имеет вид y(t) = v sin(a)t -
gt2/2, где g
~ 9.8 м/с2 есть ускорение свободного падения.
Время полёта тела до падения составляет T = 2v sin(a)/g
В программе вводятся значения скорости тела и угол, под которым тело
брошено к горизонту. Угол вводится в градусах, поэтому вводимое
значение переводится в радианы(Умножается на Пи ~ 3.1415 и делится на
180). Далее вычисляется время полёта тела, и пользователю предлагается
ввести момент времени(Не превышающий времени полета тела), для которого
необходимо рассчитать координаты тела.
Эти координаты выводятся на экран.
Код программы приведен в листинге 1.10
==========>Листинг 1.10
Координаты брошенного под углом тела
#include<iostream>
#include <cmath>
using namespace std;
int main(){
//Константа – ускорение свободного падения и число pi:
const double g=9.8;
const double pi=3.1415;
//Начальные и расчетные параметры задачи
//(скорость, угол и время полета):
double v,alpha,T;
//Момент времени и координаты:
double t,x,y;
//Ввод параметров:
cout<<"Введите скорость v = ";
cin>>v;
cout<<"Введите угол alpha = ";
cin>>alpha;
alpha=alpha*pi/180;
T=2*v*sin(alpha)/g;
cout<<"Введите время t < "<<T<<": ";
cin>>t;
x=v*t*cos(alpha);
y=v*t*sin(alpha)-g*t*t/2;
cout<<"x = "<<x<<"\n";
cout<<"y = "<<y<<"\n";
cout << "Конец задания для самостоятельной работы!" << endl;
system
("pause");
//
ожидаем
нажатия
кнопки
return 0;
}
==========>Конец Листинга 1.10 Компилированный
исполняемый
файл
листинга
1.10(120Кб,
rar)
Для использования встроенных математических функций в блок заголовков
включена команда #include
<cmath>
Результат выполнения программы может выглядеть следующим образом(жирным
шрифтом выделен ввод пользователя)
Введите скорость v = 15
Введите угол alpha = 30
Введите время t < 1.53057: 1.2
x = 15.5886
y = 1.94376
Конец задания для самостоятельной работы!
Для продолжения нажмите любую клавишу . . .
В программах такого типа разумнее предусматривать возможность
вычисления координат для различных моментов времени. Делается это с
помощью условных операторов и операторов цикла, о которых речь пойдет в
следующих главах.
|