Предмет: Информатика,
автор: katyakatya64
Найти все углы треугольника со сторонами а, b, c. Предусмотреть в программе перевод радианной меры угла а градусы, минуты и секунды. Напишите на паскаль
Ответы
Автор ответа:
0
var a,b,c,alfa,beta,gamma:real;
ga,ma,sa,gb,mb,sb,gg,mg,sg:real;
begin
write('a='); readln(a);
write('b='); readln(b);
write('c='); readln(c);
alfa:=arccos((b*b-c*c+a*a)/(2*b*c))*180/pi;
ga:=int(alfa);
ma:=int(frac(alfa)*60);
sa:=frac(frac(alfa)*60);
writeln('alfa = ',ga:3:0,' gr ',ma:3:0,' min ',sa:3:1,' sec');
beta:=arccos((c*c-b*b+a*a)/(2*c*a))*180/pi;
gb:=int(beta);
mb:=int(frac(beta)*60);
sb:=frac(frac(beta)*60);
writeln('beta = ',gb:3:0,' gr ',mb:3:0,' min ',sb:3:1,' sec');
gamma:=arccos((c*c-a*a+b*b)/(2*c*b))*180/pi;
gg:=int(gamma);
mg:=int(frac(gamma)*60);
sg:=frac(frac(gamma)*60);
writeln('gamma = ',gg:3:0,' gr ',mg:3:0,' min ',sg:3:1,' sec');
end.
Пример:
a=3
b=4
c=5
alfa = 90 gr 0 min 0.0 sec
beta = 53 gr 7 min 0.8 sec
gamma = 36 gr 52 min 0.2 sec
ga,ma,sa,gb,mb,sb,gg,mg,sg:real;
begin
write('a='); readln(a);
write('b='); readln(b);
write('c='); readln(c);
alfa:=arccos((b*b-c*c+a*a)/(2*b*c))*180/pi;
ga:=int(alfa);
ma:=int(frac(alfa)*60);
sa:=frac(frac(alfa)*60);
writeln('alfa = ',ga:3:0,' gr ',ma:3:0,' min ',sa:3:1,' sec');
beta:=arccos((c*c-b*b+a*a)/(2*c*a))*180/pi;
gb:=int(beta);
mb:=int(frac(beta)*60);
sb:=frac(frac(beta)*60);
writeln('beta = ',gb:3:0,' gr ',mb:3:0,' min ',sb:3:1,' sec');
gamma:=arccos((c*c-a*a+b*b)/(2*c*b))*180/pi;
gg:=int(gamma);
mg:=int(frac(gamma)*60);
sg:=frac(frac(gamma)*60);
writeln('gamma = ',gg:3:0,' gr ',mg:3:0,' min ',sg:3:1,' sec');
end.
Пример:
a=3
b=4
c=5
alfa = 90 gr 0 min 0.0 sec
beta = 53 gr 7 min 0.8 sec
gamma = 36 gr 52 min 0.2 sec
Автор ответа:
0
Ничего не поняла, но блин такую работу проделал(а) ,молодец)
Автор ответа:
0
Минуты и секунды не вычисляются. Сейчас добавлю.
Автор ответа:
0
Предполагается, что вводятся длины сторон по которым можно построить треугольник:
var a,b,c,p:real;
d,e,f:real;
begin
write('a=');readln(a);
write('b=');readln(b);
write('c=');readln(c);
p:=(a+b+c)/2;
writeln('Углы равны:');
d:=(2*arctan(sqrt((p-b)*(p-c)/(p*(p-a)))))*(180/pi);
e:=(2*arctan(sqrt((p-a)*(p-c)/(p*(p-b)))))*(180/pi);
f:=(2*arctan(sqrt((p-a)*(p-b)/(p*(p-c)))))*(180/pi);
writeln(int(d),' град, ',int(frac(d)*60),' мин ', frac(frac(d)*60):5:2,' сек');
writeln(int(e),' град, ',int(frac(e)*60),' мин ', frac(frac(e)*60):5:2,' сек');
writeln(int(f),' град, ',int(frac(f)*60),' мин ', frac(frac(f)*60):5:2,' сек');
end.
Пример
a=3
b=4
c=5
Углы равны:
36 град, 52 мин 0.19 сек
53 град, 7 мин 0.81 сек
90 град, 0 мин 0.00000 сек
var a,b,c,p:real;
d,e,f:real;
begin
write('a=');readln(a);
write('b=');readln(b);
write('c=');readln(c);
p:=(a+b+c)/2;
writeln('Углы равны:');
d:=(2*arctan(sqrt((p-b)*(p-c)/(p*(p-a)))))*(180/pi);
e:=(2*arctan(sqrt((p-a)*(p-c)/(p*(p-b)))))*(180/pi);
f:=(2*arctan(sqrt((p-a)*(p-b)/(p*(p-c)))))*(180/pi);
writeln(int(d),' град, ',int(frac(d)*60),' мин ', frac(frac(d)*60):5:2,' сек');
writeln(int(e),' град, ',int(frac(e)*60),' мин ', frac(frac(e)*60):5:2,' сек');
writeln(int(f),' град, ',int(frac(f)*60),' мин ', frac(frac(f)*60):5:2,' сек');
end.
Пример
a=3
b=4
c=5
Углы равны:
36 град, 52 мин 0.19 сек
53 град, 7 мин 0.81 сек
90 град, 0 мин 0.00000 сек
Похожие вопросы
Предмет: Информатика,
автор: azatbolatpai
Предмет: Русский язык,
автор: Аноним
Предмет: Литература,
автор: ekaterinam49
Предмет: Математика,
автор: zozozozo95
Предмет: Физика,
автор: makogonivan