Contenido principal
Principios de ciencias de la computación avanzados (AP Computer Science Principles)
Curso: Principios de ciencias de la computación avanzados (AP Computer Science Principles) > Unidad 3
Lección 3: MatemáticasProcedimientos y constantes matemáticas
Con solo las operaciones aritméticas básicas (+, -, *, /), podemos escribir programas para calcular cualquier cosa que una calculadora simple puede calcular.
¿Puede igualarse el poder de una calculadora científica, con capacidad de calcular senos, exponentes y logs? Los lenguajes de programación usualmente tienen procedimientos y constantes integrados para esa funcionalidad matemática avanzada.
Procedimientos matemáticos
Empecemos con el ejemplo más simple: calcular el valor absoluto de un número.
En JavaScript, podemos utilizar el procedimiento integrado
Math.abs()
:var abs1 = Math.abs(-5);
println(abs1);
Pasamos un solo parámetro al comando, el número a procesar, y el comando devuelve el valor absoluto de ese número. Podemos almacenar ese resultado en una variable o mostrarlo en la pantalla.
Desde luego no es muy emocionante poder calcular el valor absoluto de 5 negativo: ya sabemos que es 5. Lo emocionante es poder pasar cualquier expresión a ese procedimiento, y que calcule el resultado.
var result = Math.abs( (33 * 1/2) - (40 * 0.75) );
El resultado es 13.5, y seguramente estamos contentos de pedirle a la computadora que lo calcule.
El lenguaje JavaScript provee 36 procedimientos matemáticos incorporados. Aquí hay algunos que probablemente usarás en tus propios programas:
Procedimiento | Descripción |
---|---|
Math.pow(base, exp) | Regresa base elevado a la potencia exp . |
Math.min(x, y, z…) | Regresa el mínimo de los números dados. |
Math.max(x, y, z…) | Regresa el máximo de los números dados. |
Math.round(num) | Regresa num redondeado al entero más cercano. |
Math.floor(num) | Regresa el mayor entero menor o igual a num . |
Math.ceil(num) | Regresa el menor entero mayor o igual a num . |
Math.sin(num) | Regresa el seno de num , un ángulo dado en radianes. |
Math.cos(num) | Regresa el coseno de num , un ángulo dado en radianes. |
Math.tan(num) | Regresa la tangente de num , un ángulo dado en radianes. |
✏️ Revisa todos en el siguiente programa y prueba ingresar diferentes números. También puedes buscar otros procedimientos disponibles en la documentación de matemáticas y probarlos aquí.
Constantes matemáticas
Las matemáticas tienen varios números especiales. El más famoso es probablemente pi, que aparece en todas las cosas circulares. Si has memorizado la primera docena de dígitos de pi, entonces puedes escribir eso en tus programas. Para el resto de nosotros meros mortales, podemos confiar en lenguajes de programación para que memoricen esos dígitos por nosotros.
En JavaScript, podemos obtener un valor aproximado de pi con
Math.PI
, una variable que ya está definida en cada programa JS.Por ejemplo, esta expresión calcula la circunferencia de un círculo de radio 12:
var circumference = 2 * Math.PI * 12;
La variable
Math.PI
es una constante, lo que significa que no puede reasignarse. Podemos confiar más en nuestras matemáticas si sabemos que pi siempre será pi.Puedes aprender sobre otras constantes matemáticas de JavaScript en la referencia de matemáticas. La mayoría de los lenguajes proveen constantes similares, así que si usas otro, puedes buscar en línea "Pi en [lenguaje de programación]".
✏️El siguiente programa utiliza
Math.PI
y Math.pow()
para ayudarnos a responder la pregunta común: ¿qué tamaño de pizza debes comprar? Cámbialo para reflejar los precios de tu pizza y ver cómo cambian los resultados.Matemáticas en pseudocódigo
En pseudocódigo, probablemente verás un procedimiento matemático integrado descrito así:
Pseudocódigo | Descripción |
---|---|
ABS(num) | Regresa el valor absoluto de num |
Ese pseudocódigo puede usarse así:
abs1 ← ABS(-5)
DISPLAY( abs1 )
En pseudocódigo, las constantes se escriben en mayúsculas, como la constante
PI
.Una expresión para calcular la circunferencia puede escribirse así:
circunferencia ← 2 * PI * radio
🙋🏽🙋🏻♀️🙋🏿♂️¿Tienes alguna pregunta sobre este tópico? Nos encantaría contestarte; ¡simplemente pregunta en el area de preguntas abajo!
¿Quieres unirte a la conversación?
- Uff, mucho que aprender.(3 votos)