Matemáticas#

Introducción#

El módulo de matemáticas incluye tanto funciones integradas de Python como el módulo completo math , que está disponible automáticamente en VEXcode 123. Estas herramientas permiten realizar desde operaciones aritméticas básicas hasta trigonometría avanzada, redondeo y operaciones logarítmicas.

Utilice estas funciones y constantes para calcular posiciones, ángulos, distancias y otros valores numéricos para su robot. También puedes convertir entre grados y radianes, evaluar expresiones y trabajar con valores especiales como infinito y NaN.

A continuación se muestra una lista de funciones, constantes y utilidades matemáticas disponibles:

Funciones integradas: herramientas matemáticas comunes incluidas con Python.

  • abs – Devuelve el valor absoluto de un número.

  • round – Redondea un número a un número específico de decimales.

  • min – Devuelve el menor de los valores de entrada.

  • max – Devuelve el mayor de los valores de entrada.

  • sum – Suma todos los valores en un iterable.

  • divmod – Devuelve el cociente y el resto como una tupla.

  • pow – Eleva un número a una potencia, opcionalmente con un módulo.

  • int – Convierte un valor en un número entero.

  • float – Convierte un valor en un número de punto flotante.

Constantes: Valores predefinidos del módulo math.

  • math.pi – La constante π (pi).

  • math.tau – La constante tau (2π).

  • math.e – Número de Euler, base del registro natural.

Trigonometría: calcula los ángulos y las relaciones entre los lados.

  • math.sin – Seno de un ángulo en radianes.

  • math.cos – Coseno de un ángulo en radianes.

  • math.tan – Tangente de un ángulo en radianes.

  • math.atan – Arcotangente de un valor en radianes.

  • math.atan2 – Arcotangente de y/x en radianes, considerando el cuadrante.

  • math.asin – Arcseno de un valor en radianes.

  • math.acos – Arccoseno de un valor en radianes.

  • math.degrees – Convierte radianes en grados.

  • math.radians – Convierte grados a radianes.

Redondeo y valor absoluto: ajuste la precisión o la dirección.

  • math.ceil – Redondea al número entero más cercano.

  • math.floor – Redondea al entero más cercano.

  • math.trunc – Elimina la parte decimal.

  • math.fabs – Devuelve el valor absoluto como un valor flotante.

Exponentes y logaritmos: cálculos de potencia, raíz y registro.

  • math.pow – Eleva un número a una potencia.

  • math.sqrt – Devuelve la raíz cuadrada.

  • math.exp – Calcula e a la potencia de x.

  • math.log – Calcula el logaritmo de x.

  • math.log10 – Calcula el logaritmo en base 10 de x.

Operaciones en coma flotante: inspeccione o descomponga los valores flotantes.

  • math.modf – Devuelve las partes fraccionarias y enteras de un flotador.

  • math.frexp – Descompone un número en mantisa y exponente.

  • math.fmod – Resto con signo del dividendo.

  • math.copysign – Devuelve un valor con el signo de otro.

  • math.ldexp – Calcula x * (2 ** exp).

Funciones integradas#

Python proporciona varias funciones integradas que le permiten realizar operaciones matemáticas dentro de su proyecto.

abs#

abs devuelve el valor absoluto de un número, eliminando cualquier signo negativo.

Usage:
abs(x)

Parámetro

Descripción

x

Un número entero o flotante.

# Get the absolute value of -10
abs_result = abs(-10)
console.print(abs_result)
# abs_result = 10

round#

round redondea un número a un número específico de decimales.

Usage:
round(x, ndigits)

Parámetro

Descripción

x

Un número entero o flotante.

ndigits

Opcional. El número de decimales a redondear. El valor predeterminado es 0.

# Round 5.7 to the nearest integer
round_int_result = round(5.7)
console.print(round_int_result)
# round_int_result = 6

# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
console.print(round_result, precision=2)
# round_result = 3.14

min#

min devuelve el valor más pequeño de varios argumentos o un iterable.

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

Parámetro

Descripción

arg1, arg2, …

Los números a comparar.

sequence

Una lista, tupla u otra secuencia que contenga números.

# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
console.print(min_result)
# min_result = 1

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

max#

max devuelve el valor más grande de múltiples argumentos o un iterable.

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

Parámetro

Descripción

arg1, arg2, …

Los números a comparar.

sequence

Una lista, tupla u otra secuencia que contenga números.

# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
console.print(max_result)
# max_result = 7

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

sum#

sum suma todos los valores en un iterable, con un valor inicial opcional.

Usage:
sum(sequence, start)

Parámetro

Descripción

sequence

Una lista, tupla u otra secuencia que contenga números.

start

Opcional. Un valor para agregar a la suma. El valor predeterminado es 0.

# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
console.print(sum_result)
# sum_result = 15

# Calculate the sum of a list with a starting value of 10
sum_with_start = sum([1, 2, 3], 10)
console.print(sum_with_start)
# sum_with_start = 16

divmod#

divmod devuelve una tupla que contiene el cociente y el resto de una operación de división.

Usage:
divmod(a, b)

Parámetro

Descripción

a

El dividendo.

b

El divisor.

# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
console.print(divmod_result)
# divmod_result = (3, 1)

pow#

pow eleva un número a una potencia y opcionalmente realiza una operación de módulo.

Usage:
pow(x, y, mod)

Parámetro

Descripción

x

El número base.

y

El exponente.

mod

Opcional. Un valor de módulo. Si se proporciona, devuelve (x ** y) % mod.

# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
console.print(pow_result)
# pow_result = 8

int#

int convierte un número o cadena en un entero. También admite la conversión base al convertir desde una cadena.

Usage:
int(x, base)

Parámetro

Descripción

x

Un número, cadena u otro objeto para convertir.

base

Opcional. La base numérica a utilizar para la conversión. El valor predeterminado es 10.

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

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

float#

float convierte un número o cadena en un número de punto flotante.

Usage:
float(x)

Parámetro

Descripción

x

Un número, cadena u otro objeto para convertir.

# Convert division result to a float
num_apples = 6
num_people = 2
apples_per_person = float(num_apples) / num_people
console.print(apples_per_person)
# Output: 3.0

# Convert a string into a float to use in calculations
user_input = "23.4"
user_number = float(user_input)
console.print(user_number * 3)
# Output: 70.2

Módulo de Matemáticas#

El módulo math de Python proporciona métodos adicionales para realizar cálculos matemáticos comunes. Estos métodos incluyen operaciones trigonométricas, logarítmicas y otras operaciones numéricas.

El módulo math se importa por defecto en VEXcode.

Constants#

Las constantes son valores predefinidos que permanecen fijos durante un proyecto. Se pueden utilizar en cálculos sin necesidad de ninguna definición o asignación.

pi#

pi da la constante matemática π, la relación entre la circunferencia de un círculo y su diámetro.

Usage:
math.pi

# Calculate the area of a circle with radius 5 using pi
circle_area = math.pi * 5 * 5
console.print(circle_area, precision=2)
# circle_area = 78.54

tau#

tau da el valor de 2π.

Usage:
math.tau

# Calculate the circumference of a circle with radius 5
circumference = math.tau * 5
console.print(circumference, precision=2)
# circumference = 31.42

e#

e da la base del logaritmo natural.

Usage:
math.e

# Calculate e raised to the power of 2
e_power = math.pow(math.e, 2)
console.print(e_power, precision=2)
# e_power = 7.39

Trigonometry#

sin#

sin calcula el seno de un ángulo en radianes y devuelve un flotador.

Usage:
math.sin(x)

Parámetro

Descripción

x

Un flotador o número entero que representa un ángulo en radianes.

# Calculate the sine of 
# 30 degrees in radians
result = math.sin(math.radians(30))
console.print(result, precision=2)
# result = 0.50

cos#

cos calcula el coseno de un ángulo en radianes y devuelve un flotador.

Usage:
math.cos(x)

Parámetro

Descripción

x

Un flotador o número entero que representa un ángulo en radianes.

# Calculate the cosine of 
# 60 degrees in radians
result = math.cos(math.radians(60))
console.print(result, precision=2)
# result = 0.50

tan#

tan calcula la tangente de un ángulo en radianes y devuelve un número entero.

Usage:
math.tan(x)

Parámetro

Descripción

x

Un flotador o número entero que representa un ángulo en radianes.

# Calculate the tangent of 
# 45 degrees in radians
result = math.tan(math.radians(45))
console.print(result)
# result = 1

asin#

asin calcula el seno inverso (arco seno) de un número y devuelve un entero que representa el ángulo en radianes.

Usage:
math.asin(x)

Parámetro

Descripción

x

Un flotante o entero entre -1 y 1.

# Calculate the arc sine 
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
console.print(result)
# result = 30

acos#

acos calcula el coseno inverso (arco coseno) de un número y devuelve un entero que representa el ángulo en radianes.

Usage:
math.acos(x)

Parámetro

Descripción

x

Un flotante o entero entre -1 y 1.

# Calculate the arc cosine 
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
console.print(result)
# result = 60

atan#

atan calcula la tangente inversa (arco tangente) de un número y devuelve un entero que representa el ángulo en radianes.

Usage:
math.atan(x)

Parámetro

Descripción

x

Un flotador o número entero.

# Calculate the arc tangent 
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
console.print(result)
# result = 45

atan2#

atan2 calcula el valor principal de la tangente inversa de y/x y devuelve un flotador que representa el ángulo en radianes.

Usage:
math.atan2(y, x)

Parámetro

Descripción

y

Un flotador o número entero que representa la coordenada y.

x

Un flotador o número entero que representa la coordenada x.

# Calculate the inverse tangent 
# of 1/1 in degrees
atan2 = math.atan2(1.0, 1.0)
result = math.degrees(atan2)
console.print(result)
# result = 45

grados#

degrees convierte un ángulo de radianes a grados y devuelve un número entero.

Usage:
math.degrees(x)

Parámetro

Descripción

x

Un flotador o número entero que representa un ángulo en radianes.

# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
console.print(degrees_result)
# degrees_result = 180

radianes#

radians convierte un ángulo de grados a radianes.

Usage:
math.radians(x)

Parámetro

Descripción

x

Un flotador o número entero que representa un ángulo en grados.

# Convert 180 degrees to radians
radians_result = math.radians(180)
console.print(radians_result, precision=2)
# radians_result = 3.14

Rounding & Absolute Values#

techo#

ceil redondea un número hasta el entero más cercano.

Usage:
math.ceil(x)

Parámetro

Descripción

x

Un flotador o número entero a redondear.

# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
console.print(ceil_result)
# ceil_result = 4

piso#

floor redondea un número hasta el entero más cercano.

Usage:
math.floor(x)

Parámetro

Descripción

x

Un flotador o número entero que se redondeará hacia abajo.

# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
console.print(floor_result)
# floor_result = 3

trunc#

trunc elimina la parte decimal de un número sin redondear.

Usage:
math.trunc(x)

Parámetro

Descripción

x

Un flotador a truncar.

# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
console.print(trunc_result)
# trunc_result = 3

fabs#

fabs devuelve el valor absoluto de un número como un flotante.

Usage:
math.fabs(x)

Parámetro

Descripción

x

Un flotador o número entero.

# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
console.print(fabs_result, precision=1)
# fabs_result = 3.7

Exponents & Logarithms#

registro#

log calcula el logaritmo de un número y devuelve un float.

Usage:
math.log(x, base)

Parámetro

Descripción

x

Un número flotante o entero positivo.

base

Opcional. La base del logaritmo a utilizar. Por defecto, este es el logaritmo natural.

# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
console.print(log_result)
# log_result = 2

# Calculate the log base 2 of 8
log_result = math.log(8, 2)
console.print(log_result)
# log_result = 3

log10#

log10 calcula el logaritmo en base 10 de un número y devuelve un valor flotante.

Usage:
math.log10(x)

Parámetro

Descripción

x

Un número flotante o entero positivo.

# Calculate the base-10 logarithm of 100
log10_result = math.log10(100)
console.print(log10_result)
# log10_result = 2

pow#

pow eleva x a la potencia de y y devuelve un valor flotante, incluso si ambas entradas son números enteros.

Usage:
math.pow(x, y)

Parámetro

Descripción

x

Una base flotante o entera.

y

Un exponente flotante o entero.

# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
console.print(power_result)

# power_result = 8

sqrt#

sqrt calcula la raíz cuadrada de un número y devuelve un valor flotante, incluso para cuadrados perfectos.

Usage:
math.sqrt(x)

Parámetro

Descripción

x

Un flotante o entero no negativo.

# Calculate the square root of 25
sqrt_result = math.sqrt(25)
console.print(sqrt_result)
# sqrt_result = 5.0

exp#

exp calcula la exponencial de un número y devuelve un flotante.

Usage:
math.exp(x)

Parámetro

Descripción

x

Un flotador o número entero.

# Calculate e raised to the power of 1
exp_result = math.exp(1)
console.print(exp_result, precision=2)
# exp_result = 2.72

Floating Point Operations#

modf#

modf descompone un número en sus partes fraccionaria y entera y devuelve una tupla (fractional part, integer part), tanto como flotantes.

Usage:
math.modf(x)

Parámetro

Descripción

x

Un flotador o entero para descomponer.

# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
console.print(fractional_part, precision=2)
console.new_line()
console.print(integer_part)
# fractional_part = 0.14
# integer_part = 3

frexp#

frexp descompone un número en su mantisa y exponente y devuelve una tupla (mantissa, exponent), donde la mantisa es un flotador y el exponente es un número entero.

Usage:
math.frexp(x)

Parámetro

Descripción

x

Un flotador o entero para descomponer.

# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
console.print(mantissa, precision=2)
console.new_line()
console.print(exponent)
# mantissa = 0.50
# exponent = 5

fmod#

fmod devuelve el resto de la división manteniendo el signo del dividendo (x).

Usage:
math.fmod(x, y)

Parámetro

Descripción

x

El dividendo.

y

El divisor.

# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
console.print(fmod_result)
# fmod_result = 1

copysign#

copysign devuelve x con el signo de y.

Usage:
math.copysign(x, y)

Parámetro

Descripción

x

El valor a modificar.

y

El valor cuyo signo se copiará.

# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
console.print(copysign_result)
# copysign_result = 10

ldexp#

ldexp calcula x * (2 ** exp), que es equivalente a x * 2exp.

Usage:
math.ldexp(x, exp)

Parámetro

Descripción

x

El valor base.

exp

El exponente.

# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
console.print(ldexp_result)
# ldexp_result = 48