- R – радиус описанной окружности;
- r – радиус вписанной окружности.
Разработать программу для расчета по трем заданным параметрам всех остальных (по вариантам входных данных).
Вариант 3.
Дано: c, a, b
; ; ; ; ;
; ; ;
.
Решение.
A
B
c
C
C0
A0 s
double
R double
r
B0 h
p
a
b
Хотя переменных довольно много, но, по сути, алгоритм вычислений очень простой, без ветвлений и циклов, так что составлять блок-схему в этом случае не обязательно. Углы в градусах альфа, бета и гамма обозначены соответственно A0, B0 и C0. Углы в радианах A, B и C; s – площадь треугольника, a, b, c, p, R и r – соответствуют обозначениям в условии задачи. Все переменные типа double.
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
double a,b,c,A,B,C,Ao,Bo,Co,p,s,h,R,r;
cout<<"Vvedite storonu treugolnika c = "; //чтобы пользователю программы было
cin>>c; // проще понять, что требуется ввести,
cout<<"Vvedite ugol treugol'nika v gradusah Ao = "; //на экран выведены
cin>>Ao; // пояснения рядом с идентификаторами
cout<<"Vvedite ugol treugol'nika v gradusah Bo = ";
cin>>Bo;
A=Ao*M_PI/180; //так как С работает с радианами, мы переводим введенные
B=Bo*M_PI/180; //значения углов в радианы для дальнейших расчетов
Co=180-Ao-Bo;
C=Co*M_PI/180;
a=c*sin(A)/sin(C);
b=c*sin(B)/sin(C);
h=a*sin(B);
p=(a+b+c)/2;
s=c*h/2;
R=a*b*c/(4*s);
r=2*s/(a+b+c);
cout<<"Ugol alpha v radianah = "<<A<<endl;
cout<<"Ugol betta v radianah = "<<B<<endl;
cout<<"Ugol gamma v radianah = "<<C<<endl;
cout<<"Ugol gamma v gradusah = "<<Co<<endl;
cout<<"Plosh'ad' treugol'nika = "<<s<<endl;
cout<<"Radius opisannoi okrugnosti = "<<R<<endl;
cout<<"Radius vpisannoi okrugnosti = "<<r<<endl;
cout<<"Visota k storone c = "<<h<<endl;
cout<<"Poluperimetr = "<<p<<endl;
cout<<"Storona a = "<<a<<endl;
cout<<"Storona b = "<<b<<endl;
getch();
clrscr();
}
Результаты исполнения программы.
Входной набор 1:
c = 15
Ao = 30
Bo = 65
Результат:
A = 0.523599
B = 1.134464
C = 1.48353
Co = 85
s = 51.174548
R = 7.528649
r = 2.829262
h = 6.823273
p = 18.087597
a = 7.528649
b = 13.646546
Входной набор 2:
c = 10
Ao = 45
Bo = 45
Результат:
A = 0.785398
B = 0.785398
C = 1.570796
Co = 90
s = 25
R = 5
r = 2.071068
h = 5
p = 12.071068
a = 7.071068
b = 7.071068
Входной набор 3:
c = 70
Ao = 60
Bo = 60
Результат:
A = 1.047198
B = 1.047198
C = 1.047198
Co = 60
s = 2121.762239
R = 40.414519
r = 20.207259
h = 60.621778
p = 105
a = 70
b = 70
Вывод.
В этой задаче я выработала навыки работы с большим количеством переменных, и поняла принцип работы в С с углами в градусах и радианах.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.