https://esgeeks.com/?p=2958
Usando PowerShell para Resolver Problemas Matemáticos
5 (100%) 4 votes

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:
Sumas en PowerShell

Sumas en PowerShell

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.
Operaciones Básicas PowerShell

Operaciones: Resta, Multiplicación, División con PowerShell

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:

Operaciones con paréntesis en PowerShell

Operaciones con paréntesis en PowerShell

2. PowerShell trabajando con [Math]

El tipo .NET [Math] 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.

PowerShell trabajando con System.Math

PowerShell trabajando con System.Math

Las dos constantes son para Pi y E. Ambos (Pi y E) se pueden mostrar con hasta 14 dígitos.

PowerShell Pi y E

PowerShell: Pi y E

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)
Math Sqrt en PowerShell

Uso de Math Sqrt

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)
Math Pow en PowerShell

Uso de Math Sqrt

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
}
Perímetro Cuadrado PowerShell

Perímetro de un Cuadrado PowerShell

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 [pscustomobject].

  • 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
}
Área de Rectángulo PowerShell

Área de Rectángulo con PowerShell

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 (
        [parameter()]
        [int]$Longitud,
        [parameter()]
        [int]$Ancho,
        [parameter()]
        [int]$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
    }

    [pscustomobject]@{
        Longitud = $Longitud
        Ancho = $Ancho
        Area = $Area
    }
}
Funciones en PowerShell

Funciones en PowerShell

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
Fórmulas y Funciones en PowerShell

Fórmulas y Funciones en PowerShell

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! 😉


¡Mantente actualizado!

Suscríbete a nuestro boletín semanal...

Suscríbete a nuestro boletín electrónico para recibir artículos útiles y ofertas especiales. No te perderás absolutamente de nada!

Enviaremos solamente boletines al email y no compartiremos tu email.