Algoritmo que convierte un número en un día de la semana

La estructura Según elige entre muchas opciones sin escribir un Si detrás de otro.

El problema y su planteamiento

Lee un número del 1 al 7 y muestra el día: 1 es Lunes, 2 Martes… 7 Domingo. Con cualquier otro número muestra No existe.

Planteamiento: entrada, proceso y salida
EntradaProcesoSalida
Un número.Buscar a qué día corresponde: 1 es Lunes, 2 Martes… 7 Domingo.El nombre del día, o No existe si el número no está entre 1 y 7.

Diagrama de flujo

Así se dibuja el algoritmo: el óvalo marca el inicio y el fin, el paralelogramo es una entrada o una salida, el rectángulo es un proceso y el rombo es una decisión.

Diagrama de flujo del algoritmo día de la semanaInicioLeer diadiaEscribir "Lunes"Escribir "Martes"Escribir "Miércoles"Escribir "Jueves"Escribir "Viernes"Escribir "Sábado"Escribir "Domingo"Escribir "No existe"Fin1234567De Otro Modo

Pseudocódigo

Esta es una solución. Léela línea por línea con el diagrama al lado y compara con lo que tú escribirías.

Algoritmo dia_de_la_semana
    Leer dia
    Segun dia Hacer
        1: Escribir "Lunes"
        2: Escribir "Martes"
        3: Escribir "Miércoles"
        4: Escribir "Jueves"
        5: Escribir "Viernes"
        6: Escribir "Sábado"
        7: Escribir "Domingo"
        De Otro Modo: Escribir "No existe"
    FinSegun
FinAlgoritmo
Pruebas del reto
EntradaSalida esperada
1Lunes
5Viernes

Con estas entradas, el programa debe mostrar exactamente esa salida.

Cómo pensarlo

Cuando hay muchas opciones para un mismo valor, Según es más claro que una cadena de Si. Escribes Segun dia Hacer y, debajo, un renglón por cada valor: 1: Escribir "Lunes".

La opción De Otro Modo recoge todo lo que no coincide con ninguno de los casos. Aquí sirve para el 0, el 9 o cualquier número fuera de 1 a 7: muestra No existe.

La estructura se cierra con FinSegun. En el diagrama de flujo, Según se dibuja como una decisión con varias salidas, una por caso.

Errores comunes

  • Olvidar De Otro Modo: con un 9 el programa no mostraría nada.
  • Escribir los casos con comillas ("1"): son números, no texto.
  • Olvidar FinSegun al final.

El mismo programa en Python

Si más adelante pasas a Python, así se ve la misma lógica. Cambian las palabras (print, input, if) y los bloques se marcan con sangría en lugar de FinSi o FinPara.

# Algoritmo dia_de_la_semana
dia = float(input())
if dia == 1:
    print("Lunes")
elif dia == 2:
    print("Martes")
elif dia == 3:
    print("Miércoles")
elif dia == 4:
    print("Jueves")
elif dia == 5:
    print("Viernes")
elif dia == 6:
    print("Sábado")
elif dia == 7:
    print("Domingo")
else:
    print("No existe")

Preguntas frecuentes

¿Cuándo conviene usar Según en lugar de Si?

Cuando comparas la misma variable con varios valores concretos, como los días de la semana. Es más corto y más fácil de leer que varios Si anidados.

¿Para qué sirve De Otro Modo?

Es el caso por omisión: se ejecuta cuando el valor no coincide con ninguno de los anteriores.

Sigue con otro reto