Ruby

Raíz cuadrada y raíz cúbica en Ruby

En este post voy a explicar cómo sacar la raíz cuadrada de un número utilizando Ruby, y también explicaré cómo sacar la raíz cúbica. A partir de la raíz cúbica ya podremos sacar la raíz “cuarta” y todas las demás.

Raíz cuadrada y raíz cúbica en RubyRaíz cuadrada y raíz cúbica en Ruby
Raíz cuadrada y raíz cúbica en Ruby

No faltará alguien experto en matemáticas diciendo que en realidad la raíz de un número es exponenciarlo y esas cosas, aquí veremos simplemente cómo hacer las cosas sin importar el término o definición formal.

Sobre los decimales

Las computadoras (sin importar el lenguaje de programación) son malas con los decimales y números flotantes, así que en este ejemplo vamos a usar BigDecimal (un módulo de Ruby) para evitar errores de cálculo.

Por dar un ejemplo, con números flotantes normales, Ruby dice que la raíz cúbica de 1331 es 10.99999 pero todos nosotros sabemos que es 11.

Así que mejor usamos BigDecimal y evitamos errores de cálculo ahora que podemos.

Raíz cuadrada de un número con Ruby

Para sacar la raíz cuadrada, casi en todos los lenguajes de programación existe el método sqrt que quiere decir algo como square root. Pues bien, Ruby no es la excepción.

En Ruby se usa a Math.sqrt para sacar la raíz cuadrada de un número, así:

raiz_cuadrada_de_25 = Math.sqrt(25)

Al final dejaré un ejemplo de código.

Raíz cúbica en Ruby

No hay un método llamado cubic root o algo así, pero según las matemáticas, la raíz de un número es como elevar ese número a una fracción, o mejor dicho, al resultado de una fracción.

Por ejemplo, la raíz cuadrada podría ser sacada elevando el número a 1/2 o un medio, o 0.5. Sabiendo esto, la raíz cúbica se saca así:

raiz_cubica_de_1331 = 1331 ** (1.0 / 3)

Aunque es mejor usar BigDecimal, que devuelve un número listo para ser muy preciso. Ya veremos en el ejemplo a lo que me refiero.

Otras raíces

Sabiendo cómo es la raíz cúbica, simplemente debemos elevar un número a 1 / X en donde X es la raíz.

Ejemplo de raíz cuadrada y cúbica en Ruby

Aquí dejo un ejemplo que muestra cómo usar a Math.sqrt así como la exponenciación con Ruby.

=begin
 Raíz cúbica y raíz cuadrada de un número
 en Ruby usando BigDecimal, exponenciación
 y Math.pow

 @author parzibyte
=end

require 'bigdecimal'
numero = 81
raiz_cuadrada = Math.sqrt(numero)
puts "La raíz cuadrada de #{numero} es #{raiz_cuadrada}"

otro_numero = 1331
# Usamos BigDecimal para que sea preciso, de otro modo, la raíz cúbica de 1331 sería 10.999999
# De ahí lo pasamos a flotante con to_f
raiz_cubica = BigDecimal.new(otro_numero) ** (1.0 / 3)
# Lo imprimimos con to_f para que no lo ponga en notación científica
puts "La raíz cúbica de #{otro_numero} es #{raiz_cubica.to_f}"

Puedes descargarlo si quieres (recuerda instalar Ruby) y ejecutarlo con ruby main.rb

Así terminamos por hoy. Lee más sobre Ruby aquí.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Resetear GOOJPRT PT-210 MTP-II (Impresora térmica)

El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…

1 mes hace

Proxy Android para impresora térmica ESC POS

Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…

1 mes hace

Android – Servidor web con servicio en segundo plano

En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…

1 mes hace

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

2 meses hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

3 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

3 meses hace