Глобальный контекст.ACos

Методы · ACos

Вычисляет арккосинус от аргумента <Число>.

Синтаксис

ACos(<Число>)

Примеры платформы

Pi = 3.1415926535897932;
Аргумент = 0.5;
Попытка
    УголВГрадусах = 360*ACos(Аргумент)/Pi/2;
    Сообщить("Значение угла по значению Cos(): "
        + Окр(УголВГрадусах));
Исключение
    Сообщить("При значении аргумента " + Аргумент
        + " выдается сообщение об ошибке:"
        + Символы.ПС + """" + ОписаниеОшибки() + """");
КонецПопытки;
Полное описание, параметры и ограничения

Глобальный контекст.ACos (Global context.ACos)

Глобальный контекст (Global context)

ACos (ACos)

Доступен, начиная с версии 8.0.

Синтаксис:
ACos(<Число>)
Параметры:

<Число> (обязательный)
Тип: Число.
Аргумент функции. Определен в диапазоне -1 ... 1.
Возвращаемое значение:
Тип: Число.
Результат вычисления арккосинуса в радианах.
Описание:

Вычисляет арккосинус от аргумента <Число>.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Внимание: Данный метод не поддерживается при работе через COM-соединение
Примечание:
Если аргумент выходит за пределы диапазона, то происходит ошибка "Неправильное значение аргумента встроенной функции (ACos)".
Пример:

Pi = 3.1415926535897932;
Аргумент = 0.5;
Попытка
УголВГрадусах = 360*ACos(Аргумент)/Pi/2;
Сообщить("Значение угла по значению Cos(): "
+ Окр(УголВГрадусах));
Исключение
Сообщить("При значении аргумента " + Аргумент
+ " выдается сообщение об ошибке:"
+ Символы.ПС + """" + ОписаниеОшибки() + """");
КонецПопытки;

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Проверить область определения арксинуса и обработать свою ошибку данных

Отношение 1,2 не может быть синусом действительного угла. Ошибка встроенной функции обрабатывается явно, а допустимые граничные значения считаются отдельно.

Где и как запускать

Полный серверный общий модуль своей учебной конфигурации. Только собственные числа и строки в памяти.

Подготовка

  1. В своей отдельной конфигурации УчебнаяКонфигурацияСинтаксиса создайте серверный общий модуль УчебныеФормулы с флагом Сервер. Вставьте полный модуль выбранного урока и вызовите ВыполнитьПример из серверной команды учебной обработки.

  2. Все числа, строки и URI создаются внутри примера. Нет запросов к базе, файлов, сетевых соединений или вычисления произвольного кода.

  3. Для первых запусков не меняйте данные. Затем меняйте один параметр за раз и сравнивайте объяснение с результатами проверок.

  4. Булево и тригонометрические функции в этих уроках не предназначены для вызова через COM-соединение. Кодирование строк выполняется на сервере.

  5. 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(Отношение));
    КонецЕсли;
КонецПроцедуры

Разбор по шагам

  1. Посчитать допустимый граничный ASin(1)=Пи/2 и проверить с численным допуском.

  2. Один раз вызвать ASin(1.2) в собственном блоке Попытка: нужен учебный пример исключения.

  3. В исключении вывести понятное сообщение и отметить ожидаемый отказ, не скрывать ошибку пустым обработчиком.

  4. Показать предпочтительный путь: проверить диапазон до ACos и не вызывать функцию для 1,2.

Как проверить результат

  1. Две булевые проверки Истина, сообщение об ожидаемой ошибке ASin и сообщение о предварительном отказе ACos.

  2. После перехваченной ошибки модуль продолжает работу.

Ожидаемый результат

Полный опыт обработки неверных собственных данных и проверки диапазона до вычисления.

На что обратить внимание

  1. Нельзя считать исключение признаком нулевого угла: угол не получен.

  2. Не подменяйте неправильное отношение единицей без объяснения смысла данных.

  3. В обработке реальных данных отделяйте погрешность измерения от явно неверных значений.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Посчитать угол учебного треугольника 3–4–5 тремя способами

Арктангенс, арксинус и арккосинус дают один угол из разных отношений сторон. Встроенные тригонометрические функции работают с радианами.

Где и как запускать

Полный серверный общий модуль своей учебной конфигурации. Только собственные числа и строки в памяти.

Подготовка

  1. В своей отдельной конфигурации УчебнаяКонфигурацияСинтаксиса создайте серверный общий модуль УчебныеФормулы с флагом Сервер. Вставьте полный модуль выбранного урока и вызовите ВыполнитьПример из серверной команды учебной обработки.

  2. Все числа, строки и URI создаются внутри примера. Нет запросов к базе, файлов, сетевых соединений или вычисления произвольного кода.

  3. Для первых запусков не меняйте данные. Затем меняйте один параметр за раз и сравнивайте объяснение с результатами проверок.

  4. Булево и тригонометрические функции в этих уроках не предназначены для вызова через COM-соединение. Кодирование строк выполняется на сервере.

  5. 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);
    Сообщить("Фактический угол, радианы: " + Строка(УголТангенса));
    Сообщить("Фактический угол, градусы: " + Строка(Градусы));
КонецПроцедуры

Разбор по шагам

  1. Проверить положительность сторон и равенство 3²+4²=5² до деления.

  2. ATan принимает высота/основание=0,75; ASin принимает высота/гипотенуза=0,6; ACos принимает основание/гипотенуза=0,8.

  3. Получить Пи как ACos(-1) и перевести радианы в градусы множителем 180/Пи.

  4. Проверить равенство углов с допуском, а не точным сравнением численных результатов.

  5. Tan от вычисленного угла возвращает отношение 0,75, не градусы. Затем замените стороны на 6–8–10: угол должен сохраниться.

Как проверить результат

  1. Четыре сообщения Истина. Угол примерно 0,643501 радиана, или 36,869898 градуса.

  2. При 6–8–10 отношения и угол те же. При основании 0 понятный отказ до деления.

Ожидаемый результат

Настоящая небольшая геометрическая задача с независимыми способами расчёта и проверкой результата.

На что обратить внимание

  1. Tan(36.87) считает тангенс радиан, не градусов.

  2. ASin и ACos допускают аргументы только от −1 до 1.

  3. Проверка Пифагора с точным равенством здесь рассчитана на свои целые стороны, а не измерения с погрешностью.

  4. Этот опыт не является расчётом нормативного уклона пандуса или строительным заключением.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.