Scala es un lenguaje de programación potente y versátil, que combina los paradigmas orientado a objetos y funcional, ofreciendo una sintaxis elegante y capacidades expresivas. Una aplicación práctica y educativa para comenzar con Scala es desarrollar un programa simple que presente al usuario un menú para realizar operaciones aritméticas básicas. Este artículo te guiará a través del proceso de creación de dicho menú en Scala, destacando la interacción con el usuario y la ejecución de operaciones aritméticas basadas en la entrada del usuario.
Configuración Inicial
Antes de empezar, asegúrate de tener Scala instalado en tu sistema. Puedes verificarlo ejecutando scala -version
en tu terminal. Si aún no lo has instalado, visita el sitio web oficial de Scala para obtener instrucciones de instalación.
Diseñando el Programa
Nuestro programa presentará al usuario un menú con opciones para sumar, restar, multiplicar y dividir. Luego, solicitará al usuario que ingrese dos números y realizará la operación seleccionada con esos números. Finalmente, imprimirá el resultado en la consola.
Implementación en Scala
A continuación, se presenta el código del programa, que incluye comentarios para facilitar su comprensión:
import scala.io.StdIn.readLine
object MenuOperacionesAritmeticas extends App {
def mostrarMenu(): Unit = {
println("Seleccione una operación aritmética:")
println("1. Suma")
println("2. Resta")
println("3. Multiplicación")
println("4. División")
println("5. Salir")
}
def leerEntradaNumerica(prompt: String): Double = {
println(prompt)
readLine().toDouble
}
def realizarOperacion(opcion: Int, num1: Double, num2: Double): Unit = {
opcion match {
case 1 => println(s"Resultado: ${num1 + num2}")
case 2 => println(s"Resultado: ${num1 - num2}")
case 3 => println(s"Resultado: ${num1 * num2}")
case 4 =>
if (num2 != 0) println(s"Resultado: ${num1 / num2}")
else println("Error: División por cero.")
case 5 => println("Saliendo...")
case _ => println("Opción no válida. Por favor, intente de nuevo.")
}
}
var continuar = true
while (continuar) {
mostrarMenu()
val opcion = leerEntradaNumerica("Ingrese el número de la operación deseada:").toInt
if (opcion == 5) {
continuar = false
} else {
val num1 = leerEntradaNumerica("Ingrese el primer número:")
val num2 = leerEntradaNumerica("Ingrese el segundo número:")
realizarOperacion(opcion, num1, num2)
}
}
}
Para ejecutar este programa, guárdalo en un archivo llamado MenuOperacionesAritmeticas.scala
. Luego, compílalo y ejecútalo usando los siguientes comandos en tu terminal:
scalac MenuOperacionesAritmeticas.scala
scala MenuOperacionesAritmeticas
Explicación del Código
- Importación de
scala.io.StdIn.readLine
: Se utiliza para leer la entrada del usuario desde la consola. - Definición del objeto
MenuOperacionesAritmeticas
: En Scala, un objeto es una instancia única de una clase, y aquí lo usamos como punto de entrada del programa. - Método
mostrarMenu
: Imprime las opciones disponibles para el usuario. - Método
leerEntradaNumerica
: Solicita al usuario un número, lee la entrada como una cadena y la convierte aDouble
. - Método
realizarOperacion
: Realiza la operación aritmética seleccionada basándose en la opción ingresada por el usuario. - Estructura de control
match
: Se utiliza para seleccionar la operación aritmética correspondiente a la elección del usuario. - Bucle
while
: Mantiene el programa en ejecución, permitiendo al usuario realizar múltiples operaciones hasta que elija salir.
Conclusión
Este programa es un excelente punto de partida para explorar la programación en Scala, ofreciendo una introducción práctica a
conceptos clave como la lectura de entrada del usuario, el manejo de condiciones y la realización de operaciones aritméticas. A medida que te familiarices con Scala, descubrirás que su potente sintaxis y paradigmas de programación te permiten construir aplicaciones complejas de manera eficiente y elegante.
Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.