3. Разработать программу для выполнения следующего расчета:
Дано: x, y, z – double.
Вычислить: ; .
Решение.
x
a
double y double
b
z
Для удобства чтения программы идентификаторы переменных выбраны в соответствии с обозначениями, используемыми в условии задачи. Тип данных на входе и на выходе вещественный – double.
Поскольку цель задачи – выполнить расчет по приведенной формуле, то нет необходимости в составлении алгоритма в словесно-описательной форме.
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
double x,y,z,a,b;
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
cout<<"z=";
cin>>z;
a=((1+pow(sin(x+y),2))/2+abs(x-2*x/(1+x*x*y*y)))+x;
b=pow(atan(1/z),2);
clrscr();
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
getch();
}
Алгоритм выполнения задачи аналогичен двум предыдущим.
Результаты исполнения программы.
Входной набор 1:
x=1
y=2
z=3
Результат:
a=1.509957
b=0.103523
Входной набор 2:
x=45
y=7
z=89
Результат:
a=89.986717
b=0.000126
Входной набор 3:
x=80
y=78
z=74
Результат:
a=159.816668
b=0.000183
Вывод.
В этой задаче не было использовано ничего принципиально нового, только введена функция арктангенса.
Задание 4.
4. Разработать программу для расчета результатов полета снаряда, пущенного с начальной скоростью под углом по отношению к горизонту. Программа должна рассчитывать дальность и высоту полета снаряда , а также время его полета . Расчет проводится по формулам:
; ; ;
где ; ;
- ускорение свободного падения.
Решение.
h
V0
double l double
a
t
Начальную скорость я обозначила V0, угол альфа – a, высоту – h, дальность полета – l, и время полета t. Так же в задаче присутствуют промежуточные переменные, все типа double: проекция скорость на ось х - Vx, проекция скорости на ось ординат - Vy, и одна константа, это ускорение свободного падения – g. Сначала рассчитываются промежуточные значения скоростей, которые потом подставляются в главные формулы.
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
double V0,a,l,h,t,Vx,Vy; //описание данных, их типа
cout<<"Vvedite nachalnuy skorost' V0="; //ввод данных с клавиатуры
cin>>V0; //и присваивание этих значений
cout<<"Vvedite ugol a="; //переменным
cin>>a;
const double g=9.81; //введение константы
Vx=V0*cos(a*3.14/180); Vy=V0*sin(a*3.14/180); //расчет промежуточных значений
t=2*Vy/g;
l=Vx*t;
h=0.5*(Vy*t-g*pow((t/2),2)); //расчет t, l и h
clrscr();
cout<<"h="<<h<<endl;
cout<<"l="<<l<<endl;
cout<<"t="<<t<<endl;
getch();
}
Результаты исполнения программы.
Входной набор 1:
V0=60
a=60
Результат:
h=137.530294
l=318.002128
t=10.590334
Входной набор 2:
V0=20
a=70
Результат:
h=17.994369
l=26.248157
t=3.830706
Входной набор 3:
V0=120
a=30
Результат:
h=183.317545
l=1270.840131
t=12.226792
Вывод.
В этой задаче мы научились вводить константы и промежуточные переменные.
Задание 5.
5. Дан произвольный треугольник ABC, для которого определен следующий набор характерных параметров:
- - стороны треугольника;
- - углы в градусах;
- - углы в радианах;
- - высота, опущенная на сторону c;
- S – площадь;
- p – полупериметр треугольника:;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.