&НаКлиенте
Процедура Рассчитать(Команда)
РассчитатьНаСервере();
КонецПроцедуры
&НаСервере
Процедура РассчитатьНаСервере()
// Градусы → радианы
АльфаРад = Альфа * 3.1415926535897932 / 180;
Косинус = Cos(АльфаРад);
Синус = Sin(АльфаРад);
// Проверка: cos α = 0 (α = 90° + 180°n)
Если Косинус < 0 Тогда
МодульКосинуса = -Косинус;
Иначе
МодульКосинуса = Косинус;
КонецЕсли;
Если МодульКосинуса < 0.000001 Тогда
Сообщить("При α = " + Альфа + "° функция не определена (cos α = 0)");
Результат = 0;
Возврат;
КонецЕсли;
// Проверка: 1 + sin α = 0 (α = -90° + 360°n)
Если 1 + Синус < 0 Тогда
МодульСин = -(1 + Синус);
Иначе
МодульСин = 1 + Синус;
КонецЕсли;
Если МодульСин < 0.000001 Тогда
Сообщить("При α = " + Альфа + "° функция не определена (1 + sin α = 0)");
Результат = 0;
Возврат;
КонецЕсли;
// Левая часть: (1 + sin α)/cos α + cos α/(1 + sin α)
ЛеваяЧасть = (1 + Синус) / Косинус + Косинус / (1 + Синус);
// Правая часть: 2 sec α = 2 / cos α
ПраваяЧасть = 2 / Косинус;
// Результат — левая часть (должна совпасть с правой)
Результат = ЛеваяЧасть;
// Для проверки можно вывести обе части
Сообщить("Левая часть: " + ЛеваяЧасть);
Сообщить("Правая часть: " + ПраваяЧасть);
КонецПроцедуры