Лабораторная работа № __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
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.