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

Методы · Pow

Возводит число <X> в степень <Y>.

Синтаксис

Pow(<Основание>, <Показатель>)

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

Pi = 3.1415926535897932;
Радиус = 3;
V = 4*Pi*Pow(Радиус,3)/3;
Сообщить("Объем шара с радиусом "
    + Радиус + " равен " + Формат(V,"ЧДЦ=2"));
Полное описание, параметры и ограничения

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

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

Pow (Pow)

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

Синтаксис:
Pow(<Основание>, <Показатель>)
Параметры:

<Основание> (обязательный)
Тип: Число.
Основание операции возведения в степень.

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

Возводит число <X> в степень <Y>.

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

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

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

// Вычисление объема шара по значению радиуса

Pi = 3.1415926535897932;
Радиус = 3;
V = 4*Pi*Pow(Радиус,3)/3;
Сообщить("Объем шара с радиусом "
+ Радиус + " равен " + Формат(V,"ЧДЦ=2"));

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

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

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

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

Преобразовать величину в логарифмическую шкалу и обратно

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

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Все значения учебные и создаются в памяти; документы, регистры и рабочие данные не изменяются.

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


Величина = 1000;
Если Величина <= 0 Тогда
    ВызватьИсключение "Логарифмическая шкала требует положительного значения";
КонецЕсли;
ДесятичныйПоказатель = Log10(Величина);
Восстановленная = Pow(10, ДесятичныйПоказатель);
Сообщить(ДесятичныйПоказатель);
Сообщить(Восстановленная);
НатуральныйКоэффициент = Exp(2);
ОбратныйПоказатель = Log(НатуральныйКоэффициент);
Сообщить(Формат(НатуральныйКоэффициент, "ЧДЦ=6"));
Сообщить(Формат(ОбратныйПоказатель, "ЧДЦ=6"));
Если Восстановленная < 999.999999 Или Восстановленная > 1000.000001 Тогда
    ВызватьИсключение "Десятичная шкала не восстановилась в пределах допуска";
КонецЕсли;
Если ОбратныйПоказатель < 1.999999 Или ОбратныйПоказатель > 2.000001 Тогда
    ВызватьИсключение "Натуральная шкала не восстановилась в пределах допуска";
КонецЕсли;

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

  1. Log10 даёт показатель степени основания 10, поэтому 1000 соответствует 3.

  2. Pow с основанием 10 выполняет обратное преобразование.

  3. Exp использует основание e, обратная функция для него — Log, а не Log10.

  4. Для преобразований применяем допуск и отказываемся от нулевого или отрицательного исходного значения.

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

  1. Десятичный показатель около 3, восстановленная величина около 1000.

  2. Exp(2) около 7.389056, Log(Exp(2)) около 2.

  3. Замените Величина на 0: сработает понятная проверка до вызова Log10.

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

Обе логарифмические шкалы прошли предусмотренную самопроверку при выполнении урока.

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

  1. Основание логарифма — часть контракта вычисления; Log и Log10 нельзя подменять друг другом.

  2. Экстремальные аргументы могут выйти за числовые возможности платформы; пример использует небольшие значения.

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

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

Считаем длину вектора 3×4 и координаты отрезка длиной 5 после поворота на 90 градусов.

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Все значения учебные и создаются в памяти; документы, регистры и рабочие данные не изменяются.

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

  3. У ширины, высоты и координат одна и та же единица длины. 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 Тогда
    ВызватьИсключение "Результат поворота вне учебного допуска";
КонецЕсли;

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

  1. Pow возводит размеры в квадрат, Sqrt получает корень из суммы — диагональ по теореме Пифагора.

  2. Переводим угол из градусов в радианы до вызова тригонометрических функций.

  3. Формат задаёт вид сообщения, а не вычислительную точность самих координат.

  4. Вместо точного сравнения X=0 применяем малый допуск, учитывающий численное вычисление синуса и косинуса.

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

  1. Диагональ равна 5; X близок к 0, Y близок к 5.

  2. Замените угол на 0 и соответствующую проверку: координаты должны быть около X=5, Y=0.

  3. Передайте 90 напрямую в Sin без перевода — результат не будет синусом 90 градусов.

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

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

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

  1. Sqrt требует неотрицательного аргумента; в данном примере сумма квадратов это обеспечивает.

  2. Численные тригонометрические результаты сравнивайте с допуском, а не как идеально точные десятичные значения.

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

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

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

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

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