Считаем длину вектора 3×4 и координаты отрезка длиной 5 после поворота на 90 градусов.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Все значения учебные и создаются в памяти; документы, регистры и рабочие данные не изменяются.
Выполняйте на сервере учебной базы. Представление десятичного разделителя в сообщениях зависит от локали.
У ширины, высоты и координат одна и та же единица длины. Sin и Cos получают радианы, не градусы.
Ширина = 3;
Высота = 4;
Диагональ = Sqrt(Pow(Ширина, 2) + Pow(Высота, 2));
Сообщить(Диагональ);
Пи = 3.141592653589793;
УголВГрадусах = 90;
УголВРадианах = УголВГрадусах * Пи / 180;
X = 5 * Cos(УголВРадианах);
Y = 5 * Sin(УголВРадианах);
Сообщить(Формат(X, "ЧДЦ=6; ЧН=0"));
Сообщить(Формат(Y, "ЧДЦ=6; ЧН=0"));
Если X < -0.000001 Или X > 0.000001 Или Y < 4.999999 Или Y > 5.000001 Тогда
ВызватьИсключение "Результат поворота вне учебного допуска";
КонецЕсли;Разбор по шагам
Pow возводит размеры в квадрат, Sqrt получает корень из суммы — диагональ по теореме Пифагора.
Переводим угол из градусов в радианы до вызова тригонометрических функций.
Формат задаёт вид сообщения, а не вычислительную точность самих координат.
Вместо точного сравнения X=0 применяем малый допуск, учитывающий численное вычисление синуса и косинуса.
Как проверить результат
Диагональ равна 5; X близок к 0, Y близок к 5.
Замените угол на 0 и соответствующую проверку: координаты должны быть около X=5, Y=0.
Передайте 90 напрямую в Sin без перевода — результат не будет синусом 90 градусов.
Ожидаемый результат
Известная геометрическая задача решена с корректной единицей угла и контрольным допуском.
На что обратить внимание
Sqrt требует неотрицательного аргумента; в данном примере сумма квадратов это обеспечивает.
Численные тригонометрические результаты сравнивайте с допуском, а не как идеально точные десятичные значения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.