Математика#

Введение#

В состав модуля Math входят как встроенные функции Python, так и полный модуль math , который автоматически доступен в VEXcode VR. Эти инструменты позволяют выполнять все операции, от базовой арифметики до сложной тригонометрии, округления и логарифмических вычислений.

Используйте эти функции и константы для вычисления положений, углов, расстояний и других числовых значений для вашего робота. Вы также можете преобразовывать градусы в радианы, вычислять выражения и работать со специальными значениями, такими как бесконечность и NaN.

Ниже приведён список доступных математических функций, констант и вспомогательных средств:

Встроенные функции – распространенные математические инструменты, входящие в состав Python.

  • abs – Возвращает абсолютное значение числа.

  • round – Округляет число до указанного количества десятичных знаков.

  • min – Возвращает наименьшее из входных значений.

  • max – Возвращает наибольшее из входных значений.

  • sum – Суммирует все значения в итерируемом объекте.

  • divmod – Возвращает частное и остаток в виде кортежа.

  • pow – Возводит число в степень, при необходимости с модулем.

  • int – Преобразует значение в целое число.

  • float – Преобразует значение в число с плавающей запятой.

Константы – предопределенные значения из модуля math.

  • math.pi – Постоянная π (пи).

  • math.tau – Постоянная тау (2π).

  • math.e – число Эйлера, основание натурального логарифма.

Тригонометрия – вычисление углов и соотношений между сторонами.

  • math.sin – Синус угла в радианах.

  • math.cos – Косинус угла в радианах.

  • math.tan – Тангенс угла в радианах.

  • math.atan – Арктангенс значения в радианах.

  • math.atan2 – Арктангенс y/x в радианах, с учетом квадранта.

  • math.asin – Арксинус значения в радианах.

  • math.acos – Арккосинус значения в радианах.

  • math.degrees – Преобразует радианы в градусы.

  • math.radians – Преобразует градусы в радианы.

Округление и абсолютное значение – регулировка точности или направления.

  • math.ceil – Округляет до ближайшего целого числа.

  • math.floor – Округляет до ближайшего целого числа в меньшую сторону.

  • math.trunc – Удаляет десятичную часть.

  • math.fabs – Возвращает абсолютное значение в виде числа с плавающей запятой.

Степени и логарифмы – вычисления степеней, корней и логарифмов.

  • math.pow – Возводит число в степень.

  • math.sqrt – Возвращает квадратный корень.

  • math.exp – Вычисляет e в степени x.

  • math.log – Натуральный логарифм (по основанию e).

Операции с плавающей запятой – проверка или разложение значений с плавающей запятой.

  • math.modf – Возвращает дробную и целую части числа с плавающей запятой.

  • math.frexp – Разлагает число на мантиссу и показатель степени.

  • math.fmod – Остаток со знаком делимого.

  • math.copysign – Возвращает значение со знаком другого значения.

  • math.ldexp – Вычисляет x * (2 ** exp).

Встроенные функции#

Python предоставляет несколько встроенных функций, позволяющих выполнять математические операции внутри вашего проекта.

abs#

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

Usage:
abs(x)

Параметр

Описание

x

Целое число или число с плавающей запятой.

def main():
    # Get the absolute value of -10
    abs_result = abs(-10)
    brain.print(abs_result)

    # abs_result = 10

# VR threads — Do not delete
vr_thread(main)

round#

round округляет число до указанного количества десятичных знаков.

Usage:
round(x, ndigits)

Параметр

Описание

x

Целое число или число с плавающей запятой.

ndigits

Необязательный параметр. Количество десятичных знаков, до которых следует округлять. По умолчанию — 0.

def main():
    # Round 5.7 to the nearest integer
    round_int_result = round(5.7)
    brain.print(round_int_result)

    # round_int_result = 6

# VR threads — Do not delete
vr_thread(main)

def main():
    # Round 3.14159 to 2 decimal places
    round_result = round(3.14159, 2)
    brain.print(round_result, precision=2)

    # round_result = 3.14

# VR threads — Do not delete
vr_thread(main)

min#

Функция min возвращает наименьшее значение из нескольких аргументов или итерируемого объекта.

Usage:
min(arg1, arg2, …) or min(sequence)

Параметр

Описание

arg1, arg2, …

Цифры для сравнения.

sequence

Список, кортеж или другая последовательность, содержащая числа.

def main():
    # Get the smallest number from 3, 7, and 1
    min_result = min(3, 7, 1)
    brain.print(min_result)

    # min_result = 1

# VR threads — Do not delete
vr_thread(main)

def main():
    # Get the smallest value from a list
    min_list_result = min([10, 4, 25, 1])
    brain.print(min_list_result)

    # min_list_result = 1

# VR threads — Do not delete
vr_thread(main)

max#

max возвращает наибольшее значение из нескольких аргументов или итерируемого объекта.

Usage:
max(arg1, arg2, …) or max(sequence)

Параметр

Описание

arg1, arg2, …

Цифры для сравнения.

sequence

Список, кортеж или другая последовательность, содержащая числа.

def main():
    # Get the largest number from 3, 7, and 1
    max_result = max(3, 7, 1)
    brain.print(max_result)

    # max_result = 7

# VR threads — Do not delete
vr_thread(main)

def main():
    # Get the largest value from a list
    max_list_result = max([10, 4, 25, 1])
    brain.print(max_list_result)

    # max_list_result = 25

# VR threads — Do not delete
vr_thread(main)

sum#

sum суммирует все значения в итерируемом объекте, с необязательным начальным значением.

Usage:
sum(sequence, start)

Параметр

Описание

sequence

Список, кортеж или другая последовательность, содержащая числа.

start

Необязательный параметр. Значение, которое нужно добавить к сумме. По умолчанию — 0.

def main():
    # Calculate the sum of a list of numbers
    sum_result = sum([1, 2, 3, 4, 5])
    brain.print(sum_result)

    # sum_result = 15

# VR threads — Do not delete
vr_thread(main)

def main():
    # Calculate the sum of a list with a starting value of 10
    sum_with_start = sum([1, 2, 3], 10)
    brain.print(sum_with_start)

    # sum_with_start = 16

# VR threads — Do not delete
vr_thread(main)

divmod#

Функция divmod возвращает кортеж, содержащий частное и остаток от деления.

Usage:
divmod(a, b)

Параметр

Описание

a

Дивиденды.

b

Делитель.

def main():
    # Perform integer division and remainder of 10 / 3
    divmod_result = divmod(10, 3)
    brain.print(divmod_result)

    # divmod_result = (3, 1)

# VR threads — Do not delete
vr_thread(main)

pow#

pow возводит число в степень и, при необходимости, выполняет операцию взятия остатка от деления.

Usage:
pow(x, y, mod)

Параметр

Описание

x

Базовое число.

y

Показатель степени.

mod

Необязательный параметр. Значение модуля. Если указано, возвращает (x ** y) % mod.

def main():
    # Calculate 2 raised to the power of 3
    pow_result = pow(2, 3)
    brain.print(pow_result)

    # pow_result = 8

# VR threads — Do not delete
vr_thread(main)

int#

int преобразует число или строку в целое число. Также поддерживает преобразование в систему счисления при преобразовании из строки.

Usage:
int(x, base)

Параметр

Описание

x

Число, строка или другой объект для преобразования.

base

Необязательный параметр. Система счисления, используемая для преобразования. По умолчанию — 10.

def main():
    # Convert a float to an integer to get rid of decimals
    price = 19.99
    price_int = int(price)
    brain.print("{} coins".format(price_int))

    # Output: 19 coins

# VR threads — Do not delete
vr_thread(main)

def main():
    # Convert a string into an integer to use in calculations
    user_input = "55"
    user_number = int(user_input)
    brain.print(user_number * 2)

    # Output: 110

# VR threads — Do not delete
vr_thread(main)

float#

float преобразует число или строку в число с плавающей запятой.

Usage:
float(x)

Параметр

Описание

x

Число, строка или другой объект для преобразования.

def main():
    # Convert division result to a float
    num_apples = 6
    num_people = 2
    apples_per_person = float(num_apples) / num_people
    brain.print(apples_per_person)

    # Output: 3.00

# VR threads — Do not delete
vr_thread(main)

def main():
    # Convert a string into a float to use in calculations
    user_input = "23.4"
    user_number = float(user_input)
    brain.print(user_number * 3)

    # Output: 70.20

# VR threads — Do not delete
vr_thread(main)

Математический модуль#

Модуль math в MicroPython предоставляет дополнительные методы для выполнения распространенных математических вычислений. Эти методы включают тригонометрические, логарифмические и другие числовые операции.

Модуль math импортируется по умолчанию в VEXcode.

Constants#

Константы — это предопределенные значения, которые остаются неизменными на протяжении всего проекта. Их можно использовать в вычислениях без необходимости определения или присваивания каких-либо значений.

пи#

pi дает математическую константу π, отношение длины окружности к ее диаметру.

Usage:
math.pi

def main():
    # Calculate the area of a circle with radius 5 using pi
    circle_area = math.pi * 5 * 5
    brain.print(circle_area, precision=2)

    # circle_area = 78.54

# VR threads — Do not delete
vr_thread(main)

тау#

tau дает значение 2π.

Usage:
math.tau

def main():
    # Calculate the circumference of a circle with radius
    circumference = math.tau * 5
    brain.print(circumference, precision=2)

    # circumference = 31.42

# VR threads — Do not delete
vr_thread(main)

е#

e — это основание натурального логарифма.

Usage:
math.e

def main():
    # Calculate e raised to the power of 2
    e_power = math.pow(math.e, 2)
    brain.print(e_power, precision=2)

    # e_power = 7.39

# VR threads — Do not delete
vr_thread(main)

Trigonometry#

грех#

Функция sin вычисляет синус угла в радианах и возвращает число с плавающей запятой.

Usage:
math.sin(x)

Параметр

Описание

x

Число с плавающей запятой или целое число, представляющее угол в радианах.

def main():
    # Calculate the sine of 
    # 30 degrees in radians
    result = math.sin(math.radians(30))
    brain.print(result, precision=2)

    # result = 0.50

# VR threads — Do not delete
vr_thread(main)

кос#

Функция cos вычисляет косинус угла в радианах и возвращает число с плавающей запятой.

Usage:
math.cos(x)

Параметр

Описание

x

Число с плавающей запятой или целое число, представляющее угол в радианах.

def main():
    # Calculate the cosine of 
    # 60 degrees in radians
    result = math.cos(math.radians(60))
    brain.print(result, precision=2)

    # result = 0.50

# VR threads — Do not delete
vr_thread(main)

загар#

Функция tan вычисляет тангенс угла в радианах и возвращает число с плавающей запятой.

Usage:
math.tan(x)

Параметр

Описание

x

Число с плавающей запятой или целое число, представляющее угол в радианах.

def main():
    # Calculate the tangent of 
    # 45 degrees in radians
    result = math.tan(math.radians(45))
    brain.print(result, precision=2)

    # result = 1.00

# VR threads — Do not delete
vr_thread(main)

атан#

Функция atan вычисляет арктангенс (арктангенс) числа и возвращает число с плавающей запятой, представляющее угол в радианах.

Usage:
math.atan(x)

Параметр

Описание

x

Число с плавающей запятой или целое число.

def main():
    # Calculate the arc tangent 
    # of 1 in degrees
    arc_tan = math.atan(1.0)
    result = math.degrees(arc_tan)
    brain.print(result, precision=2)

    # result = 45.00

# VR threads — Do not delete
vr_thread(main)

атан2#

Функция atan2 вычисляет главное значение арктангенса y/x и возвращает число с плавающей запятой, представляющее угол в радианах.

Usage:
math.atan2(y, x)

Параметр

Описание

y

Число с плавающей запятой или целое число, представляющее координату Y.

x

Число с плавающей запятой или целое число, представляющее координату x.

def main():
    # Calculate the inverse tangent 
    # of 1/1 in degrees
    atan2 = math.atan2(1.0, 1.0)
    result = math.degrees(atan2)
    brain.print(result, precision=2)

    # result = 45.00

# VR threads — Do not delete
vr_thread(main)

асин#

asin вычисляет обратный синус (арксинус) числа и возвращает число с плавающей запятой, представляющее угол в радианах.

Usage:
math.asin(x)

Параметр

Описание

x

Число с плавающей запятой или целое число от -1 до 1.

def main():
    # Calculate the arc sine 
    # of 0.5 in degrees
    result = math.degrees(math.asin(0.5))
    brain.print(result, precision=2)

    # result = 30.00

# VR threads — Do not delete
vr_thread(main)

акос#

Функция acos вычисляет обратный косинус (арккосинус) числа и возвращает число с плавающей запятой, представляющее угол в радианах.

Usage:
math.acos(x)

Параметр

Описание

x

Число с плавающей запятой или целое число от -1 до 1.

def main():
    # Calculate the arc cosine 
    # of 0.5 in degrees
    result = math.degrees(math.acos(0.5))
    brain.print(result, precision=2)

    # result = 60.00

# VR threads — Do not delete
vr_thread(main)

градусы#

degrees переводит угол из радиан в градусы.

Usage:
math.degrees(x)

Параметр

Описание

x

Число с плавающей запятой или целое число, представляющее угол в радианах.

def main():
    # Convert pi radians to degrees
    degrees_result = math.degrees(math.pi)
    brain.print(degrees_result, precision=2)

    # degrees_result = 180.00

# VR threads — Do not delete
vr_thread(main)

радиан#

radians преобразует угол из градусов в радианы.

Usage:
math.radians(x)

Параметр

Описание

x

Число с плавающей запятой или целое число, представляющее угол в градусах.

def main():
    # Convert 180 degrees to radians
    radians_result = math.radians(180)
    brain.print(radians_result, precision=2)

    # radians_result = 3.14

# VR threads — Do not delete
vr_thread(main)

Rounding & Absolute Values#

потолок#

ceil округляет число до ближайшего целого числа в большую сторону.

Usage:
math.ceil(x)

Параметр

Описание

x

Число с плавающей запятой или целое число, подлежащее округлению в большую сторону.

def main():
    # Round 3.7 up to the nearest integer
    ceil_result = math.ceil(3.7)
    brain.print(ceil_result)

    # ceil_result = 4

# VR threads — Do not delete
vr_thread(main)

пол#

floor округляет число до ближайшего целого числа в меньшую сторону.

Usage:
math.floor(x)

Параметр

Описание

x

Число с плавающей запятой или целое число, подлежащее округлению в меньшую сторону.

def main():
    # Round 3.7 down to the nearest integer
    floor_result = math.floor(3.7)
    brain.print(floor_result)

    # floor_result = 3

# VR threads — Do not delete
vr_thread(main)

усечение#

trunc удаляет десятичную часть числа без округления.

Usage:
math.trunc(x)

Параметр

Описание

x

Число с плавающей запятой, подлежащее усечению.

def main():
    # Remove the decimal part of 3.7
    trunc_result = math.trunc(3.7)
    brain.print(trunc_result)

    # trunc_result = 3

# VR threads — Do not delete
vr_thread(main)

фабрики#

Функция fabs возвращает абсолютное значение числа в виде числа с плавающей запятой.

Usage:
math.fabs(x)

Параметр

Описание

x

Число с плавающей запятой или целое число.

def main():
    # Get the absolute value of -3.7
    fabs_result = math.fabs(-3.7)
    brain.print(fabs_result, precision=2)

    # fabs_result = 3.70

# VR threads — Do not delete
vr_thread(main)

Exponents & Logarithms#

сила#

Функция pow возводит x в степень y и возвращает число с плавающей запятой, даже если оба входных значения являются целыми числами.

Usage:
math.pow(x, y)

Параметр

Описание

x

Основание для чисел с плавающей запятой или целых чисел.

y

Показатель степени (с плавающей запятой или целое число).

def main():
    # Calculate 2 raised to the power of 3
    power_result = math.pow(2, 3)
    brain.print(power_result, precision=2)

    # power_result = 8.00

# VR threads — Do not delete
vr_thread(main)

кв. рт.#

Функция sqrt вычисляет квадратный корень числа и возвращает число с плавающей запятой, даже для полных квадратов.

Usage:
math.sqrt(x)

Параметр

Описание

x

Неотрицательное число с плавающей запятой или целое число.

def main():
    # Calculate the square root of 16
    sqrt_result = math.sqrt(16)
    brain.print(sqrt_result, precision=2)

    # sqrt_result = 4.00

# VR threads — Do not delete
vr_thread(main)

эксп#

Функция exp вычисляет экспоненту числа и возвращает число с плавающей запятой.

Usage:
math.exp(x)

Параметр

Описание

x

Число с плавающей запятой или целое число.

def main():
    # Calculate e raised to the power of 1
    exp_result = math.exp(1)
    brain.print(exp_result, precision=2)

    # exp_result = 2.72

# VR threads — Do not delete
vr_thread(main)

бревно#

Функция log вычисляет натуральный логарифм числа и возвращает число с плавающей запятой.

Usage:
math.log(x)

Параметр

Описание

x

Положительное число с плавающей запятой или целое число.

def main():
    # Calculate the natural logarithm
    # (base e) of 7.389056
    log_result = math.log(7.389056)
    brain.print(log_result, precision=2)

    # log_result = 2.00

# VR threads — Do not delete
vr_thread(main)

log10#

Функция log10 вычисляет десятичный логарифм числа и возвращает число с плавающей запятой.

Usage:
math.log10(x)

Параметр

Описание

x

Положительное число с плавающей запятой или целое число.

def main():
    # Calculate the log10 of 100
    log_result = math.log10(100)
    brain.print(log_result)

    # log_result = 2

# VR threads — Do not delete
vr_thread(main)

Floating Point Operations#

модф#

Функция modf разлагает число на дробную и целую части и возвращает кортеж (fractional part, integer part), обе части представлены в виде чисел с плавающей запятой.

Usage:
math.modf(x)

Параметр

Описание

x

Число с плавающей запятой или целое число для разложения.

def main():
    # Decompose 3.14159 into fractional and integer parts
    fractional_part, integer_part = math.modf(3.14159)
    brain.print(fractional_part, precision=2)
    brain.new_line()
    brain.print(integer_part, precision=2)

    # fractional_part = 0.14
    # integer_part = 3.00

# VR threads — Do not delete
vr_thread(main)

фрекс#

frexp разлагает число на мантиссу и показатель степени и возвращает кортеж (mantissa, exponent), где мантисса — число с плавающей запятой, а показатель степени — целое число.

Usage:
math.frexp(x)

Параметр

Описание

x

Число с плавающей запятой или целое число для разложения.

def main():
    # Decompose 16 into its mantissa and exponent
    mantissa, exponent = math.frexp(16)
    brain.print(mantissa, precision=2)
    brain.new_line()
    brain.print(exponent)

    # mantissa = 0.50
    # exponent = 5

# VR threads — Do not delete
vr_thread(main)

фмод#

fmod возвращает остаток от деления, сохраняя при этом знак делимого (x).

Usage:
math.fmod(x, y)

Параметр

Описание

x

Дивиденды.

y

Делитель.

def main():
    # Calculate remainder of 10 / 3
    # that preserves the sign of 10
    fmod_result = math.fmod(10, 3)
    brain.print(fmod_result, precision=2)

    # fmod_result = 1.00

# VR threads — Do not delete
vr_thread(main)

авторизация#

copysign возвращает x со знаком y.

Usage:
math.copysign(x, y)

Параметр

Описание

x

Значение, которое необходимо изменить.

y

Значение, знак которого будет скопирован.

def main():
    # Return -10 with the sign of 3 (positive)
    copysign_result = math.copysign(-10, 3)
    brain.print(copysign_result, precision=2)

    # copysign_result = 10.00

# VR threads — Do not delete
vr_thread(main)

ldexp#

ldexp вычисляет x * (2 ** exp), что эквивалентно x * 2exp{code}.

Usage:
math.ldexp(x, exp)

Параметр

Описание

x

Базовое значение.

exp

Показатель степени.

def main():
    # Compute 3 * (2 ** 4)
    ldexp_result = math.ldexp(3, 4)
    brain.print(ldexp_result, precision=2)

    # ldexp_result = 48.00

# VR threads — Do not delete
vr_thread(main)