Saltar al contenido
EjemplosEnglishEspacio →

Menú modular

Un conversor de unidades con un menú que se repite.

Nivel
Intermedio
Conceptos:
Entrada y salida
SubProcesos
Segun
Repetir
Abrir en Codoritmo

Ejecuta, modifica y depura este ejemplo en el navegador.

Lo que aprenderás

Separas el programa en SubProceso sin parámetros, cada uno con una tarea. Repetir ... Mientras Que vuelve a mostrar el menú hasta que elijas salir.

Código

modular-menu.psc · 39 líneas
SubProceso MostrarMenu    Escribir ""    Escribir "1. Kilómetros a millas"    Escribir "2. Litros a galones"    Escribir "3. Salir"    Escribir "Elige una opción:"FinSubProcesoSubProceso KilometrosAMillas    Definir km Como Real    Escribir "Kilómetros:"    Leer km    Escribir km, " km = ", Redon(km * 0.621371 * 100) / 100, " millas"FinSubProcesoSubProceso LitrosAGalones    Definir litros Como Real    Escribir "Litros:"    Leer litros    Escribir litros, " L = ", Redon(litros * 0.264172 * 100) / 100, " galones"FinSubProcesoAlgoritmo MenuModular    Definir opcion Como Entero    Repetir        MostrarMenu        Leer opcion        Segun opcion Hacer            1:                KilometrosAMillas            2:                LitrosAGalones            3:                Escribir "¡Hasta luego!"            De Otro Modo:                Escribir "Esa opción no existe."        FinSegun    Mientras Que opcion <> 3FinAlgoritmo

Diagrama de flujo

Cada bloque del diagrama corresponde a una instrucción del código.

Algoritmo MenuModular
Algoritmo MenuModular123De Otro ModoSíNoAlgoritmo MenuModularAlgoritmo MenuModularDefinir opcion Como EnteroDefinir opcion Como EnteroMostrarMenuMostrarMenuLeer opcionLeer opcionSegun opcion HaceropcionKilometrosAMillasKilometrosAMillasLitrosAGalonesLitrosAGalonesEscribir "¡Hasta luego!"Escribir "¡Hasta luego!"Escribir "Esa opción no existe."Escribir "Esa opción noexiste."Mientras Que opcion <> 3opcion <> 3FinAlgoritmoFinAlgoritmo
SubProceso MostrarMenu
SubProceso MostrarMenuSubProceso MostrarMenu()SubProceso MostrarMenu()Escribir ""Escribir ""Escribir "1. Kilómetros a millas"Escribir "1. Kilómetros amillas"Escribir "2. Litros a galones"Escribir "2. Litros a galones"Escribir "3. Salir"Escribir "3. Salir"Escribir "Elige una opción:"Escribir "Elige una opción:"FinSubProcesoFinSubProceso
SubProceso KilometrosAMillas
SubProceso KilometrosAMillasSubProceso KilometrosAMillas()SubProceso KilometrosAMillas()Definir km Como RealDefinir km Como RealEscribir "Kilómetros:"Escribir "Kilómetros:"Leer kmLeer kmEscribir km, " km = ", Redon(km * 0.621371 * 100) / 100, " millas"Escribir km, " km = ",Redon(km * 0.621371 * 100) /100, " millas"FinSubProcesoFinSubProceso
SubProceso LitrosAGalones
SubProceso LitrosAGalonesSubProceso LitrosAGalones()SubProceso LitrosAGalones()Definir litros Como RealDefinir litros Como RealEscribir "Litros:"Escribir "Litros:"Leer litrosLeer litrosEscribir litros, " L = ", Redon(litros * 0.264172 * 100) / 100, " galones"Escribir litros, " L = ",Redon(litros * 0.264172 * 100)/ 100, " galones"FinSubProcesoFinSubProceso

Ejemplo de ejecución

Esto muestra el programa al ejecutarlo. Las respuestas escritas por el usuario aparecen resaltadas.

 1. Kilómetros a millas2. Litros a galones3. SalirElige una opción:Respuesta del usuario: 1Kilómetros:Respuesta del usuario: 1010 km = 6.21 millas 1. Kilómetros a millas2. Litros a galones3. SalirElige una opción:Respuesta del usuario: 2Litros:Respuesta del usuario: 55 L = 1.32 galones 1. Kilómetros a millas2. Litros a galones3. SalirElige una opción:Respuesta del usuario: 7Esa opción no existe. 1. Kilómetros a millas2. Litros a galones3. SalirElige una opción:Respuesta del usuario: 3¡Hasta luego!

Desafío

Agrega una opción para convertir kilogramos a libras.

Ver pista

Crea un SubProceso nuevo (1 kg = 2.20462 lb), agrégalo al menú y mueve Salir al número 4.

Abrir en Codoritmo