PowerShell es más que scripting y automatización. Dadas las funciones correctas, también puede usarlo para resolver ecuaciones numéricas, desde lo simple a lo complejo. Mira aquí cómo lograrlo.
Microsoft PowerShell no solo se trata de escribir scripts y trabajar con varias cosas como Active Directory y SQL Server, y los sistemas operativos en los que se basan estas plataformas. ¡Hay mucho más!
Si bien podemos usarlo para cosas divertidas como obtener el clima (Como ver la Información del Clima con PowerShell) y automatizar algunos aspectos de nuestras vidas, PowerShell también puede ser una herramienta útil para cosas tales como las matemáticas.
1. PowerShell en Matemática Básica
Mediante el uso de funciones, podemos escribir herramientas para resolver diversas fórmulas. En este artículo, te mostraré diferentes maneras en que podemos usar PowerShell para resolver problemas matemáticos, empezando con algunos usos básicos y luego mejorando el nivel hasta escribir una función que puede usarse para resolver algunas fórmulas matemáticas.
En primer lugar, ejecutaremos solo un par de comandos para mostrar la simplicidad de realizar acciones como sumar o restar números en la consola.
- SUMAR: es tan simple como escribir los números que desea sumar, juntos. Puede sumar todos los números que desee siempre y cuando finalice el comando con un número:
Como puede ver, PowerShell sabe que estamos buscando realizar una operación aritmética y procede a mostrar la solución al problema.
PowerShell Inteligente: En el caso de no terminar con un número, la consola lo tratará como una continuación de línea y esperará a que ingrese un número, para luego presentar la solución al problema.
- Este mismo proceso se aplica a la resta, división y multiplicación con sus operadores aritméticos apropiados.
El orden de las operaciones se puede manejar usando (paréntesis) para garantizar que estamos agregando valores primero y luego trabajando los resultados en otro número. De lo contrario, los resultados podrían ser muy diferentes:
2. PowerShell trabajando con
El tipo .NET contiene 28 métodos y dos propiedades constantes que simplifican la realización de operaciones más complejas; manteniendo así, parte del trabajo arduo detrás de escena.
Las dos constantes son para Pi y E. Ambos (Pi y E) se pueden mostrar con hasta 14 dígitos.
Podemos usar el método Sqrt para encontrar la raíz cuadrada de un número dado bastante rápido, como se muestra a continuación:
[math]::Sqrt(144)
Otro método común que podría usarse es POW para aumentar un número con una potencia dada. En este ejemplo, aumentaré 2 con la potencia de 10 y veré cuál es el resultado:
[math]::Pow(2,10)
3. Fórmulas Divertidas
Podemos escribir algunas fórmulas para resolver problemas e incluso convertirlas en funciones reutilizables con el fin de ayudar a otros futuros problemas que posiblemente tengamos que resolver más adelante.
- Por ejemplo, encontrar el perímetro de un cuadrado es tan simple como sumar los cuatro lados para obtener la solución:
#Perimetro de un cuadrado
$Resultado = 5+5+5+5
[pscustomobject]@{
Lado1 = 5
Lado2 = 5
Lado3 = 5
Lado4 = 5
Perimetro = $Resultado
}
Fui un poco excesivo para este ejemplo, pero prefiero mostrar el objeto que muestra los lados junto con el perímetro en lugar de solo una consola o salida de texto del resultado. Por ello se utiliza .
- Otro ejemplo para presumir es encontrar el área de un rectángulo. En lugar de agregar todos los lados, vamos a multiplicar la longitud y el ancho del rectángulo para obtener el área:
#Area de un Rectangulo
$Longitud = 10
$Anchura = 5
$Resultado = $Longitud * $Anchura
[pscustomobject]@{
Longitud = $Longitud
Anchura = $Anchura
Area = $Resultado
}
Podemos empaquetar esto en una función que, no solo nos proporcionará el área del rectángulo, sino que también nos dirá la longitud o el ancho del rectángulo si proporcionamos el área junto con el ancho o la longitud: (Vayamos al ejemplo para que lo entiendas mejor :o)
Function Get-Rectangulo {
Param (
$Longitud,
$Ancho,
$Area
)
If ($PSBoundParameters.ContainsKey('Longitud') -AND $PSBoundParameters.ContainsKey('Ancho')) {
$Area = $Ancho * $Longitud
}
ElseIf ($PSBoundParameters.ContainsKey('Area') -AND $PSBoundParameters.ContainsKey('Longitud')) {
$Ancho = $Area / $Longitud
}
ElseIf ($PSBoundParameters.ContainsKey('Area') -AND $PSBoundParameters.ContainsKey('Ancho')) {
$Longitud = $Area / $Ancho
}
Else {
Break
}
@{
Longitud = $Longitud
Ancho = $Ancho
Area = $Area
}
}
Ahora podemos usar Get-Rectangulo y proporcionarle un par de parámetros para calcular el área dada la longitud y el ancho, o la longitud con los valores de área y ancho.
Get-Rectangulo -Longitud 10 -Ancho 5
Get-Rectangulo -Ancho 5 -Area 50
4. Conclusión
¡Usando PowerShell para resolver problemas matemáticos y algunas ecuaciones complejas es realmente fácil! Para algunas fórmulas, puede escribir sus propias funciones para manejar todos los aspectos de una ecuación.
Lo que se ha cubierto acaba de mostrar algunos de los enfoques más básicos para trabajar con las matemáticas en PowerShell, pero definitivamente debería expandirse y ver qué otros usos se le pueden ocurrir. ¡Comparta con los demás! 😉