Математика#
Вступ#
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– Computesx * (2 ** exp).
Вбудовані функції#
Python надає кілька вбудованих функцій, які дозволяють виконувати математичні операції всередині вашого проєкту.
abs#
abs повертає абсолютне значення числа, видаляючи будь-який знак від’ємності.
Usage:
abs(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)
Параметр |
Опис |
|---|---|
|
Ціле число або число з плаваючою комою. |
|
Необов’язково. Кількість знаків після коми, до якої потрібно округлити. Значення за замовчуванням — 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)
Параметр |
Опис |
|---|---|
|
Цифри для порівняння. |
|
Список, кортеж або інша послідовність, що містить числа. |
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)
Параметр |
Опис |
|---|---|
|
Цифри для порівняння. |
|
Список, кортеж або інша послідовність, що містить числа. |
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)
Параметр |
Опис |
|---|---|
|
Список, кортеж або інша послідовність, що містить числа. |
|
Необов’язково. Значення, яке потрібно додати до суми. За замовчуванням — 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)
Параметр |
Опис |
|---|---|
|
Дивіденд. |
|
Дільник. |
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)
Параметр |
Опис |
|---|---|
|
Базове число. |
|
Експонента. |
|
Необов’язково. Значення модуля. Якщо вказано, повертає |
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)
Параметр |
Опис |
|---|---|
|
Число, рядок або інший об’єкт для перетворення. |
|
Необов’язково. Основа числення, яку потрібно використовувати для перетворення. За замовчуванням — 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)
Параметр |
Опис |
|---|---|
|
Число, рядок або інший об’єкт для перетворення. |
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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число, що представляє кут у радіанах. |
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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число, що представляє кут у радіанах. |
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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число, що представляє кут у радіанах. |
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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число. |
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. |
|
Число з комою або ціле число, що представляє координату 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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число від -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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число від -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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число, що представляє кут у радіанах. |
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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число, що представляє кут у градусах. |
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)
Параметр |
Опис |
|---|---|
|
Число з комою або ціле число, яке потрібно округлити в більший бік. |
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)
Параметр |
Опис |
|---|---|
|
Число з комою або ціле число, яке потрібно округлити до меншого значення. |
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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою, яке потрібно обрізати. |
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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число. |
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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число. |
|
Число з плаваючою комою або цілочисельний показник. |
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)
Параметр |
Опис |
|---|---|
|
Невід’ємне число з плаваючою комою або ціле число. |
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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число. |
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)
Параметр |
Опис |
|---|---|
|
Додатне число з плаваючою комою або ціле число. |
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)
журнал10#
log10 обчислює десятковий логарифм числа та повертає число з плаваючою комою.
Usage:
math.log10(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)
Параметр |
Опис |
|---|---|
|
Число з плаваючою комою або ціле число для розкладання. |
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#
frexp розкладає число на його мантису та експоненту та повертає кортеж (mantissa, exponent), де мантиса — це число з комою, а експонента — ціле число.
Usage:
math.frexp(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#
fmod повертає залишок від ділення, зберігаючи знак діленого (x).
Usage:
math.fmod(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)
Параметр |
Опис |
|---|---|
|
Значення, яке потрібно змінити. |
|
Значення, знак якого буде скопійовано. |
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)
Параметр |
Опис |
|---|---|
|
Базова вартість. |
|
Експонента. |
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)