Creando un Menú de Operaciones Aritméticas en Scala

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 a Double.
  • 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.

photo of turned on laptop computer
Photo by Danny Meneses on Pexels.com

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.