Вычисляет арксинус от аргумента <Число>.
Синтаксис
ASin(<Число>)Примеры платформы
Pi = 3.1415926535897932;
Аргумент = Sqrt(2)/2;
Попытка
УголВГрадусах = 360*ASin(Аргумент)/Pi/2;
Сообщить("Значение угла: " + Окр(УголВГрадусах,2));
Исключение
Сообщить("При значении аргумента Sin()" + Аргумент
+ " выдается сообщение об ошибке:"
+ Символы.ПС + """"
+ ОписаниеОшибки() + """");
КонецПопытки;Полное описание, параметры и ограничения
Глобальный контекст.ASin (Global context.ASin)
Глобальный контекст (Global context)
ASin (ASin)
Доступен, начиная с версии 8.0.
Синтаксис:
ASin(<Число>)
Параметры:
<Число> (обязательный)
Тип: Число.
Аргумент функции. Определен в диапазоне -1 ... 1.
Возвращаемое значение:
Тип: Число.
Результат вычисления арксинуса в радианах.
Описание:
Вычисляет арксинус от аргумента <Число>.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Внимание: Данный метод не поддерживается при работе через COM-соединение
Примечание:
Если аргумент выходит за пределы диапазона, то происходит ошибка "Неправильное значение аргумента встроенной функции (ASin)".
Пример:
Pi = 3.1415926535897932;
Аргумент = Sqrt(2)/2;
Попытка
УголВГрадусах = 360*ASin(Аргумент)/Pi/2;
Сообщить("Значение угла: " + Окр(УголВГрадусах,2));
Исключение
Сообщить("При значении аргумента Sin()" + Аргумент
+ " выдается сообщение об ошибке:"
+ Символы.ПС + """"
+ ОписаниеОшибки() + """");
КонецПопытки;
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Проверить область определения арксинуса и обработать свою ошибку данных
Отношение 1,2 не может быть синусом действительного угла. Ошибка встроенной функции обрабатывается явно, а допустимые граничные значения считаются отдельно.
Где и как запускать
Полный серверный общий модуль своей учебной конфигурации. Только собственные числа и строки в памяти.
Подготовка
В своей отдельной конфигурации УчебнаяКонфигурацияСинтаксиса создайте серверный общий модуль УчебныеФормулы с флагом Сервер. Вставьте полный модуль выбранного урока и вызовите ВыполнитьПример из серверной команды учебной обработки.
Все числа, строки и URI создаются внутри примера. Нет запросов к базе, файлов, сетевых соединений или вычисления произвольного кода.
Для первых запусков не меняйте данные. Затем меняйте один параметр за раз и сравнивайте объяснение с результатами проверок.
Булево и тригонометрические функции в этих уроках не предназначены для вызова через COM-соединение. Кодирование строк выполняется на сервере.
URI example.invalid только печатается и проверяется как строка; адрес не открывается. Эти BSL-примеры не запускались автоматически в 1С.
Процедура ВыполнитьПример() Экспорт
Пи = ACos(-1);
Граница = ASin(1);
Сообщить(Граница > Пи / 2 - 0.000000001 И Граница < Пи / 2 + 0.000000001);
ОшибкаОжидаема = Ложь;
Попытка
НеверныйУгол = ASin(1.2);
Сообщить("Неожиданный результат неверного аргумента: " + Строка(НеверныйУгол));
Исключение
ОшибкаОжидаема = Истина;
Сообщить("Собственное отношение 1,2 отклонено: аргумент ASin должен быть −1…1");
КонецПопытки;
Сообщить(ОшибкаОжидаема);
Отношение = 1.2;
Если Отношение < -1 ИЛИ Отношение > 1 Тогда
Сообщить("Вторая попытка отклонена заранее, встроенная функция не вызывается");
Иначе
Сообщить(ACos(Отношение));
КонецЕсли;
КонецПроцедурыРазбор по шагам
Посчитать допустимый граничный ASin(1)=Пи/2 и проверить с численным допуском.
Один раз вызвать ASin(1.2) в собственном блоке Попытка: нужен учебный пример исключения.
В исключении вывести понятное сообщение и отметить ожидаемый отказ, не скрывать ошибку пустым обработчиком.
Показать предпочтительный путь: проверить диапазон до ACos и не вызывать функцию для 1,2.
Как проверить результат
Две булевые проверки Истина, сообщение об ожидаемой ошибке ASin и сообщение о предварительном отказе ACos.
После перехваченной ошибки модуль продолжает работу.
Ожидаемый результат
Полный опыт обработки неверных собственных данных и проверки диапазона до вычисления.
На что обратить внимание
Нельзя считать исключение признаком нулевого угла: угол не получен.
Не подменяйте неправильное отношение единицей без объяснения смысла данных.
В обработке реальных данных отделяйте погрешность измерения от явно неверных значений.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Посчитать угол учебного треугольника 3–4–5 тремя способами
Арктангенс, арксинус и арккосинус дают один угол из разных отношений сторон. Встроенные тригонометрические функции работают с радианами.
Где и как запускать
Полный серверный общий модуль своей учебной конфигурации. Только собственные числа и строки в памяти.
Подготовка
В своей отдельной конфигурации УчебнаяКонфигурацияСинтаксиса создайте серверный общий модуль УчебныеФормулы с флагом Сервер. Вставьте полный модуль выбранного урока и вызовите ВыполнитьПример из серверной команды учебной обработки.
Все числа, строки и URI создаются внутри примера. Нет запросов к базе, файлов, сетевых соединений или вычисления произвольного кода.
Для первых запусков не меняйте данные. Затем меняйте один параметр за раз и сравнивайте объяснение с результатами проверок.
Булево и тригонометрические функции в этих уроках не предназначены для вызова через COM-соединение. Кодирование строк выполняется на сервере.
URI example.invalid только печатается и проверяется как строка; адрес не открывается. Эти BSL-примеры не запускались автоматически в 1С.
Процедура ВыполнитьПример() Экспорт
Высота = 3;
Основание = 4;
Гипотенуза = 5;
Если Высота <= 0 ИЛИ Основание <= 0 ИЛИ Гипотенуза <= 0 Тогда
ВызватьИсключение "Для этого учебного треугольника стороны должны быть положительными";
КонецЕсли;
Если Высота * Высота + Основание * Основание <> Гипотенуза * Гипотенуза Тогда
ВызватьИсключение "Для опыта нужен прямоугольный треугольник";
КонецЕсли;
УголТангенса = ATan(Высота / Основание);
УголСинуса = ASin(Высота / Гипотенуза);
УголКосинуса = ACos(Основание / Гипотенуза);
Пи = ACos(-1);
Градусы = УголТангенса * 180 / Пи;
РазницаСинуса = УголТангенса - УголСинуса;
РазницаКосинуса = УголТангенса - УголКосинуса;
ВосстановленноеОтношение = Tan(УголТангенса);
Сообщить(РазницаСинуса > -0.000000001 И РазницаСинуса < 0.000000001);
Сообщить(РазницаКосинуса > -0.000000001 И РазницаКосинуса < 0.000000001);
Сообщить(ВосстановленноеОтношение > 0.749999999 И ВосстановленноеОтношение < 0.750000001);
Сообщить(Градусы > 36.86 И Градусы < 36.88);
Сообщить("Фактический угол, радианы: " + Строка(УголТангенса));
Сообщить("Фактический угол, градусы: " + Строка(Градусы));
КонецПроцедурыРазбор по шагам
Проверить положительность сторон и равенство 3²+4²=5² до деления.
ATan принимает высота/основание=0,75; ASin принимает высота/гипотенуза=0,6; ACos принимает основание/гипотенуза=0,8.
Получить Пи как ACos(-1) и перевести радианы в градусы множителем 180/Пи.
Проверить равенство углов с допуском, а не точным сравнением численных результатов.
Tan от вычисленного угла возвращает отношение 0,75, не градусы. Затем замените стороны на 6–8–10: угол должен сохраниться.
Как проверить результат
Четыре сообщения Истина. Угол примерно 0,643501 радиана, или 36,869898 градуса.
При 6–8–10 отношения и угол те же. При основании 0 понятный отказ до деления.
Ожидаемый результат
Настоящая небольшая геометрическая задача с независимыми способами расчёта и проверкой результата.
На что обратить внимание
Tan(36.87) считает тангенс радиан, не градусов.
ASin и ACos допускают аргументы только от −1 до 1.
Проверка Пифагора с точным равенством здесь рассчитана на свои целые стороны, а не измерения с погрешностью.
Этот опыт не является расчётом нормативного уклона пандуса или строительным заключением.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.