43 lines
1.2 KiB
ObjectPascal
43 lines
1.2 KiB
ObjectPascal
program calculateangles;
|
||
|
||
uses SysUtils, Math; // Для работы с math
|
||
|
||
var
|
||
x0, y0, d, a, b, c, discriminant, t1, t2, theta1, theta2: real;
|
||
|
||
begin
|
||
// Исходные данные
|
||
x0 := -30.37862;
|
||
y0 := 5.24115;
|
||
d := 0.825;
|
||
|
||
// Вычисление коэффициентов квадратного уравнения
|
||
a := x0 * x0 - d * d;
|
||
b := 2 * x0 * y0;
|
||
c := y0 * y0 - d * d;
|
||
|
||
// Вычисление дискриминанта
|
||
discriminant := b * b - 4 * a * c;
|
||
|
||
// Проверка наличия решений
|
||
if discriminant >= 0 then
|
||
begin
|
||
// Вычисление корней квадратного уравнения
|
||
t1 := (-b + sqrt(discriminant)) / (2 * a);
|
||
t2 := (-b - sqrt(discriminant)) / (2 * a);
|
||
|
||
// Вычисление углов в градусах
|
||
theta1 := ArcTan(t1) * 180 / Pi;
|
||
theta2 := ArcTan(t2) * 180 / Pi;
|
||
|
||
// Вывод результатов
|
||
writeln('Угол 1: ', theta1:0:10);
|
||
writeln('Угол 2: ', theta2:0:10);
|
||
end
|
||
else
|
||
begin
|
||
writeln('Дискриминант отрицательный, нет вещественных решений.');
|
||
end;
|
||
|
||
readln; // Чтобы консоль не закрылась сразу
|
||
end.
|