Как я учился программировать на языке С++ >> Глава 1 >> Примеры решения задач

Главная
Портфолио
Создание Windows приложений
Полезные ссылки
Справочник
Карта сайта
Контакты
"Нет ничего более раздражающего,
 чем хороший пример
"
  Марк Твен.




Рассмотрим некоторые достаточно простые задачи, которые могут решаться в С++ с применением минимальных программных ресурсов. В этих программах создаются и используются константы и переменные, а также применяются операторы ввода-вывода. Задачи предназначены для закрепления изложенного в Главе 1 материала.

Содержание


Главная

Часть I
Процедурное программирование в С++

Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6

Часть II
Объективно- ориентированное  программирование в С++
 
Глава 7
Глава 8
Глава 9
Глава 10
Глава 11
Глава 12






Часть I - Процедурное программирование в С++
Глава 1 - Основы языка С++
Примеры решения задач
Раздел 1 Раздел 2 Раздел 3 Раздел 4 Раздел 5 Раздел 6
Раздел 7 Раздел 8 Раздел 9 Раздел 10 Раздел 11 Раздел 12
Примеры решения задач к Главе 1
Резюме к Главе 1
Контрольные вопросы к Главе 1
Задачи для самостоятельного решения к Главе 1
Примечания






Примеры решения задач к Главе 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
Конец задания для самостоятельной работы!
Для продолжения нажмите любую клавишу . . .

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




В основу сайта положена информация из книги
"Самоучитель C++ с примерами и задачами. Книга + CD", СПб, Наука и Техника, 2010. - 480с.: ил.(+CD)
2010 - 2011 Все авторские права сохранены
Hosted by uCoz