🔀 Estructuras de Control
if/elif/else, case, transformaciones entre estructuras
🎯 Modo Examen
Selecciona ejercicios aleatorios con temporizador
Nivel 1 — Básico
Transformar if/elif a case
Convierte estructuras if/elif/else a su equivalente case.
Transformar case a if/elif
Convierte estructuras case a su equivalente if/elif/else.
if básico: then y fi
Abre y cierra correctamente un condicional. · ~3min
La rama else
Añade la alternativa cuando la condición es falsa. · ~2min
Operador 'menor que'
Operadores numéricos en [ ]. · ~2min
Bucle for sobre una lista
Abre y cierra el cuerpo de un for. · ~3min
Condición de un while
Completa el operador del bucle. · ~3min
Falta el then
Corrige el if al que le falta abrir el cuerpo. · ~3min
Cerrar un case
Añade la palabra que cierra el case. · ~2min
Comodín del case
El patrón que captura todo. · ~2min
for con rango
Genera una secuencia con expansión de llaves. · ~3min
Condición 'mayor que'
Operador numérico en un if. · ~3min
¿Case o if?
Cuándo conviene cada estructura. · ~3min
Falta el done
Cierra correctamente el bucle. · ~2min
Ordenar un if
Coloca las líneas de un condicional. · ~4min
Nivel 2 — Intermedio
Corregir estructura case mal planteada
Identifica y corrige los errores en esta estructura case.
¿Qué estructura usar?
Decide qué estructura de control es más adecuada según el contexto.
La rama elif
Añade una condición intermedia. · ~4min
Patrón OR en case
Agrupa varios valores en una rama. · ~4min
case sin ;;
Cada rama debe terminar con ;;. · ~4min
Comprobar un fichero
if con el test -f. · ~5min
Bucle until
Repite hasta que se cumpla la condición. · ~4min
for sobre la salida de un comando
Itera usando sustitución de comando. · ~5min
if/elif a case (servicio)
Convierte un if/elif de acciones a case. · ~7min
case a if/elif (modo)
Convierte un case de modos a if/elif/else. · ~7min
while read
Lee líneas con read dentro de un while. · ~5min
for frente a while
Cuándo usar cada bucle. · ~3min
Operador lógico AND
Combina dos condiciones que deben cumplirse a la vez. · ~4min
Comparar número con -eq
Usa el operador numérico correcto. · ~5min
Positivo, negativo o cero
if/elif/else con tres ramas. · ~6min
case con rango de caracteres
Patrones con clases [a-z]. · ~5min
Cuenta atrás
while descendente. · ~6min
¿Qué imprime el if?
Predice la salida de un condicional. · ~3min
Romper un bucle con break
Sal del bucle al cumplirse una condición. · ~4min
Saltar con continue
Salta a la siguiente iteración. · ~4min
Nivel 3 — Avanzado
Script de menú interactivo
Combina case con un bucle para crear un menú interactivo.
Menú con case dentro de while
Bucle infinito con menú y salida. · ~11min
Bucles anidados
Tabla de multiplicar con dos for. · ~10min
if con || a case agrupado
Convierte condiciones OR a patrones agrupados. · ~8min
case agrupado a if con ||
Convierte patrones OR a condiciones con ||. · ~9min
case roto: in y ;;
Faltan 'in' y un separador. · ~7min
Validar opción con while + case
Repite hasta recibir una opción válida. · ~10min
for sobre ficheros con comprobación
Recorre ficheros y comprueba que existen. · ~9min
until con reintentos
Reintenta una acción hasta que funcione. · ~9min
Ordenar un case
Reconstruye una estructura case. · ~6min
Clasificar por edad
Varias ramas con if/elif/else. · ~9min
Contar líneas de un fichero
while read con un contador. · ~9min
Salida de bucles anidados
Cuenta cuántas líneas produce. · ~4min
case con patrón glob
Coincidir por extensión con *. · ~6min
Salir de bucles anidados con break 2
Romper varios niveles a la vez. · ~10min
elif inalcanzable
Corrige una condición que nunca se cumple. · ~8min
Traducir comandos con case
case sobre el primer argumento. · ~8min
if/elif de 4 ramas a case
Convierte un control de acciones a case. · ~8min
Pares del 2 al 10
for con seq y paso. · ~7min
Calculadora con case
Opera según el operador recibido. · ~10min
Nivel 4 — Pro
PRO: Script de init completo
Controlador de servicio con 5 acciones y log. · ~18min
PRO: Menú con validación robusta
Menú que valida entrada vacía y opciones. · ~16min
PRO: Clasificar ficheros por tipo
for con case por extensión. · ~16min
PRO: Comprobar varios servicios
for sobre los argumentos con if anidado. · ~16min
PRO: Espera activa de un proceso
until + log hasta que un proceso arranque. · ~17min