Другие языки программирования и технологии
Информатика и математика
нужно составить программу в паскале. которая имея 1 сторону и два угла произвольного треугольника. находит площадь периметр оставшиеся стороны и углы треугольника. Помогите пожалуйста
А углы у Вас вообще какие - два прилегающих к стороне или один прилегающий, а другой противоположенный? От этого же всё зависит!
Для двух углов β и γ, прилегающих к стороне а:
α = 180° - β - γ
sin(α) = sin(180° - β - γ) = sin(β + γ)
a / sin(α) = b / sin(β) = c / sin(γ)
b = a•sin(β)/sin(β+γ)
c = a•sin(γ)/sin(β+γ)
Π = a + b + c
S = ½•a•b•sin(γ)
Для двух углов β и γ, прилегающих к стороне а:
α = 180° - β - γ
sin(α) = sin(180° - β - γ) = sin(β + γ)
a / sin(α) = b / sin(β) = c / sin(γ)
b = a•sin(β)/sin(β+γ)
c = a•sin(γ)/sin(β+γ)
Π = a + b + c
S = ½•a•b•sin(γ)
var a, b, c, alpha, beta, gamma,
sinbg, gradus, s, p: real;
begin
gradus := pi / 180;
write('a β γ: ');
readln(a, beta, gamma);
alpha := 180 - beta - gamma;
sinbg := sin((beta + gamma) * gradus);
b := a * sin(beta * gradus) / sinbg;
c := a * sin(gamma * gradus) / sinbg;
p := a + b + c;
s := 0.5 * a * b * sin(gamma * gradus);
writeln('a = ', a);
writeln('b = ', b);
writeln('c = ', c);
writeln('α = ', alpha, '°');
writeln('β = ', beta, '°');
writeln('γ = ', gamma, '°');
writeln('Периметр = ', p);
writeln('Площадь = ', s);
end.
program Triangle;
var
side1, side2, side3, angle1, angle2, angle3: real;
begin
write('Enter side 1: ');
readln(side1);
write('Enter angle 1 (in degrees): ');
readln(angle1);
write('Enter angle 2 (in degrees): ');
readln(angle2);
angle3 := 180 - angle1 - angle2;
angle2 := angle2 * (pi / 180);
angle1 := angle1 * (pi / 180);
side2 := side1 * sin(angle1 * pi / 180) / sin((angle1 + angle2)* pi / 180);
side3 := side1 * sin(angle2 * pi / 180) / sin((angle1 + angle2)* pi / 180);
writeln('Side 2: ', side2:0:2);
writeln('Side 3: ', side3:0:2);
writeln('Angle 3: ', angle3:0:2);
writeln('Perimeter: ', side1 + side2 + side3:0:2);
writeln('Area: ', (side1 * side2 * sin(angle3)) / 2:0:2);
end.
var
side1, side2, side3, angle1, angle2, angle3: real;
begin
write('Enter side 1: ');
readln(side1);
write('Enter angle 1 (in degrees): ');
readln(angle1);
write('Enter angle 2 (in degrees): ');
readln(angle2);
angle3 := 180 - angle1 - angle2;
angle2 := angle2 * (pi / 180);
angle1 := angle1 * (pi / 180);
side2 := side1 * sin(angle1 * pi / 180) / sin((angle1 + angle2)* pi / 180);
side3 := side1 * sin(angle2 * pi / 180) / sin((angle1 + angle2)* pi / 180);
writeln('Side 2: ', side2:0:2);
writeln('Side 3: ', side3:0:2);
writeln('Angle 3: ', angle3:0:2);
writeln('Perimeter: ', side1 + side2 + side3:0:2);
writeln('Area: ', (side1 * side2 * sin(angle3)) / 2:0:2);
end.
Владимир Степанов
Возьмём простейший пифагоров треугольник со сторонами 3, 4, 5, периметром 12 и площадью 6. Введём сторону 3 и два прилегающих к ней угла ≈53,1301024° и 90°. Вот что получится в ходе работы Вашей программы:
Это очень смешно!


4 Ramadan
4 Ramadan
Похожие вопросы
- Для того чтобы программировать не нужны информатика и математика? Нафиг не нужны. Так ведь?
- Насколько важна математика в изучении информатики*...
- Помогите пожалуйста разобраться с вопросами по информатике и программированию
- Почему считают что программисту математика не нужна? Откуда взялся этот миф?
- Как убедить сына что программа по информатике в школе это не бред и полная чепуха
- Вопросы по информатике
- Объясните, пожалуйста, как решить задачу по информатике...
- Считается ли создание компютерных игр и разных мультяшек - информатикой?(+)
- Информатика. Помощь в решении задач по массивам
- Как выучить информатику с нуля?