Разработка программы для вычисления переменных y и z по заданной переменной x типа double. Разработка программы последовательности формул для решения задачи артиллерийской стрельбы снарядом

Страницы работы

Содержание работы

Лабораторная работа № __1_

Введение.

Студент                     _Тихонова_Ольга_______________

Группа                       _РН12-71________________

Дата выполнения     _________________

Преподаватель          _______Кудашов А.Г.__________

Отметка о защите     ________________

5. Разработать программу для вычисления переменных y и z по заданной переменной x типа double.

Входные данные – x.

Выходные данные –y,z.

Текст программы:

#include <math.h> -  библиотека математических функций (здесь вводится для тригонометрических функций)

#include <stdio.h> - библиотека стандартного ввода и вывода языка С.

#include <conio.h>

#include <iostream.h>- библиотека потокового ввода и вывода.

void main ()

{

//описание данных

double x,y,z; - присвоение переменным типа double(вещественный тип)

// ввод

cout<<"x="; cin>>x; вывод на экран «х=», затем производится ввод переменной х с клавиатуры

//расчет

y=1/(1+1/(1+1/(1+x))); - расчет по заданным формулам

z=sin(x)*sin(x)/1+cos(x)*sin(x)*sin(x);

clrscr (); - очищение экрана от предыдущих записей (clear screen)

//вывод результата

cout<<"y="<<y<<endl; - вывод результата на экран (потоковая система вывода)

cout<<"z="<<z<<endl;

getch();

}

Замечание. Здесь можно было использовать функцию pow для нахождения sin2x.

Проверка:

x=1

y=0.6

z=1.090647

6. Разработать программу для вычисления переменных а и b по заданным переменным x,y,z типа double.

Входные данные – x,y,z.

Выходные данные –a, b.

Текст программы:

#include <math.h>   - библиотека математических функций (здесь вводится для тригонометрических функций, функции pow для возведения в степень и др.)

#include <stdio.h> - библиотека стандартного ввода и вывода языка С.

#include <conio.h>

#include <iostream.h> - библиотека потокового ввода и вывода.

void main()

{ - обозначение тела программы

clrscr(); - очищение экрана от предыдущих записей (clear screen)

//описание данных – комментарии, используются исключительно для удобства понимания (однострочные)

double x,y,z,a,b;  - присвоение переменным типа double(вещественный тип)

// ввод

cout<<"x= "; cin>>x; - вывод на экран «х=», затем производится ввод переменной х с клавиатуры

cout<<"y= "; cin>>y;

  cout<<"z= "; cin>>z;

//расчет

a=(1+exp(y-1))/(1+pow(x,2)*fabs(y-tan(z)));  - расчет по заданным формулам

  b=1+fabs(y-x)+0.5*(y-pow(x,2))+pow(fabs(y-x),3)/3;

//вывод результата

cout<<"a= "<<a<<endl; - вывод результата на экран (потоковая система вывода)

cout<<"b= "<<b<<endl;- (endline)  - конец строки

getch ();

  }

Замечание. Используем обозначение 0.5(вместо1/2).

Проверка:

x= 1

y= 1

z= 1

a= 1.284185

b= 1

8. Разработать программу последовательности формул для решения задачи артиллерийской стрельбы снарядом  с начальной скоростью [м/с] под углом  [градусов] по отношению к горизонту. Расстояние , высота  и время  полета снаряда вычисляются по формулам:

;                         ;                  ;

где            -  - горизонтальная составляющая начальной скорости;

-  - вертикальная составляющая начальной скорости;

-  м/с2 – ускорение свободного падения.

Входные данные – V0, .

Выходные данные –L,H,t.

Промежуточные данные – Vx,Vy,g-const.

Текст программы:

#include <math.h>

#include <stdio.h>

#include <conio.h>

#include <iostream.h>

void main()

{

  clrscr();

//описание данных

  double vx,vy,v0,alpha,L,H,t;

  const g=9.81;

//ввод

  cout<<"v0= "; cin>>v0;

  cout<<"alpha= "; cin>>alpha;

//расчет

  vx=v0*cos(M_PI/alpha); число пи обозначается M_PI посредством библиотеки #include <math.h>

  vy=v0*sin(M_PI/alpha);

  t=2*(vy/g);

  L=vx*t;

  H=0.5*(vy*t-g*pow(0.5*t,2));

//вывод результата

  cout<<"t="<<t<<endl;

  cout<<"H="<<H<<endl;

  cout<<"L="<<L<<endl;

  getch();

  }

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

Проверка 1:

v0= 30

alpha= 30

t=0.696856

H=0.54631

L=20.791169

Проверка 2:

v0= 30

alpha= 60

t=0.348906

H=0.136953

L=10.452846

Вывод: с увеличением угла дальность полета уменьшается.

11.Дан произвольный треугольник ABC, для которого определен следующий набор характерных параметров:

 - стороны треугольника;

 - углы в градусах;

- углы в радианах;

 - высота, опущенная на сторону c;

-  S – площадь;

-  p – полупериметр треугольника: ;

-  R – радиус описанной окружности;

-  r – радиус вписанной окружности.

Разработать программу для расчета по трем заданным параметрам всех остальных (по вариантам входных данных):

Дано:   a, b, g;

;

;

;

;

;

;

;

;

;

;

.

Входные данные – a,b,gamma

Выходные данные –A,B,C,alpha,beta,p,r,R,S,h.

Текст программы:

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<math.h>

void main()

{

clrscr();

// описание данных

double A,B,C,a,b,c,gamma,alpha,beta,h,S,p,r,R,AD,BD,CD,t,e;

const double y=180;

//ввод

cout<<"a="; cin>>a;

cout<<"b="; cin>>b;

cout<<"gamma="; cin>>gamma;

//расчет

C=M_PI*gamma/y;

BD=a*sin(C);

CD=a*cos(C);

AD=b-CD;

t=BD/AD;

A=atan(t); atan(t) – тангенс t

alpha=y*(A/M_PI);

c=BD/sin(A);

beta=y-alpha-gamma;

h=b*sin(A);

S=0.5*c*h;

p=0.5*(a+b+c);

r=S/p;

e=sin(A);

R=0.5*(a/e);

//вывод результата

cout<<"c="<<c<<endl;

cout<<"alpha="<<alpha<<endl;

cout<<"beta="<<beta<<endl;

cout<<"A="<<A<<endl;

cout<<"B="<<B<<endl;

cout<<"C="<<C<<endl;

cout<<"h="<<h<<endl;

cout<<"S="<<S<<endl;

cout<<"p="<<p<<endl;

cout<<"R="<<R<<endl;

cout<<"r="<<r<<endl;

getch();

}

Проверка для произвольного треугольника:

a=1

b=1.2

gamma=41.4

c=0.799833

alpha=55.772636

beta=82.827364

A=0.973416

B=1.444661e-309

C=0.722566

h=0.992174

S=0.396787

p=1.499917

R=0.604732

r=0.264539

Проверка для равностороннего треугольника:

a=1

b=1

gamma=60

c=1

alpha=60

beta=60

A=1.047198

B=1.444661e-309

C=1.047198

h=0.866025

S=0.433013

p=1.5

R=0.57735

r=0.288675

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Отчеты по лабораторным работам
Размер файла:
103 Kb
Скачали:
0