¿Cómo elegir la estructura de control adecuada?
Elegir la estructura adecuada depende principalmente de si sabes cuántas veces se repetirá la acción y en qué momento quieres evaluar la condición para detenerte. Aquí te explico cómo decidir y los pasos para cada una según tus apuntes:
¿Cómo saber cuál usar?
- Usa «Desde» (For): Cuando sabes exactamente cuántas veces se debe repetir el proceso. Por ejemplo, si vas a calcular el ahorro de exactamente 12 meses o contar del 1 al 10.
- Usa «Mientras» (While): Cuando no sabes el número exacto de repeticiones y necesitas verificar una condición antes de hacer algo. Si la condición no se cumple desde el inicio, el código nunca se ejecuta. Es ideal para validar contraseñas.
- Usa «Repite / Do-While»: Cuando necesitas que la acción se realice al menos una vez antes de preguntar si debe seguir. La condición se revisa al final.
Pasos para cada estructura
1. Estructura «Desde» (For)
Se enfoca en un control automático mediante un contador.
- Paso 1: Inicialización. Se definen las variables de inicio (como
a_1 = 0para un ahorro total). - Paso 2: Definir el rango. Se establece desde dónde inicia el contador y hasta dónde llega (ej.
Desde C = 0 Hasta C = 11). - Paso 3: Cuerpo del ciclo. Se realizan las acciones principales, como leer un dato (
leer d_m) y acumularlo (a_1 = a_1 + d_m). - Paso 4: Incremento. El contador avanza (en los diagramas se ve como
C = C + 1) hasta alcanzar el límite. - Paso 5: Salida. Al terminar las vueltas, se muestra el resultado final.
2. Estructura «Mientras» (While)
Se basa en una condición de entrada.
- Paso 1: Preparación. Debes tener una variable lista para evaluar (ej. leer la contraseña
conpor primera vez). - Paso 2: Evaluación. El algoritmo pregunta: ¿se cumple la condición? (ej.
con != "1234"). - Paso 3: Acción interna. Si es verdad, entra al ciclo. Importante: dentro del ciclo debes pedir el dato de nuevo o modificar la variable (ej.
leer connuevamente) para que el ciclo no sea infinito. - Paso 4: Fin del ciclo. Cuando la condición sea falsa, se sale y continúa con el siguiente paso (ej. mostrar «Acceso permitido»).
3. Estructura «Repite» (Do-While)
La condición va al final del proceso.
- Paso 1: Inicializar. Poner contadores o acumuladores en su valor inicial (ej.
SU = 0,C = 1). - Paso 2: Ejecutar. Realizar la tarea primero (leer valor, sumar
SU = SU + VA, aumentar contadorC = C + 1). - Paso 3: Validar. Al final, se pregunta si se debe repetir (ej.
¿C <= 10?). - Paso 4: Bucle o Cierre. Si la condición dice que debe seguir, regresa al paso 2; si no, muestra el resultado final (
SU).
Basándome en tus apuntes, aquí tienes un ejemplo detallado para cada una de las tres estructuras de repetición, incluyendo su tabla de variables, el pseudocódigo y la explicación de su diagrama de flujo.
1. Estructura «Mientras» (While)
Ejemplo: Validación de una contraseña.
| Nombre | Descripción | Tipo |
|---|---|---|
con | Contraseña ingresada | String |
R | Resultado | String |
Pseudocódigo:
- Inicio
- Leer
con - Mientras
con != "1234"Hacer- Mostrar «Intente de nuevo»
- Leer
con
- Fin mientras
- Visualizar «Acceso permitido»
- Fin
Descripción del Diagrama de Flujo:
- Se inicia con un óvalo (Inicio) y una lectura de datos (
con). - Aparece un rombo de decisión con la condición
con != "1234". - Si es verdadero: El flujo baja a un cuadro de proceso para volver a pedir
cony mostrar un mensaje de error, regresando luego a la parte superior del rombo. - Si es falso: El flujo sale hacia la derecha para mostrar el mensaje de éxito y terminar en el óvalo de Fin.
2. Estructura «Desde» (For)
Ejemplo: Cálculo del ahorro en un año (12 meses).
| Nombre | Descripción | Tipo |
|---|---|---|
a_1 | Ahorro total en un año | Real |
d_m | Depósito de cada mes | Real |
C | Contador de meses | Entero |
Pseudocódigo:
- Inicio
- Hacer
a_1 = 0 - Desde
C = 0hastaC = 11Hacer- Leer
d_m - Hacer
a_1 = a_1 + d_m - Visualizar «Lleva ahorrando:»,
a_1
- Leer
- Fin desde
- Mostrar «El ahorro en un año fue de:»,
a_1 - Fin
Descripción del Diagrama de Flujo:
- Se inicializa el acumulador
a_1 = 0. - Se utiliza un bloque especial (hexágono alargado o trapecio) que controla el ciclo desde
C=0hastaC=11e incrementaCautomáticamente (C = C + 1). - Dentro del ciclo se pide el dato
d_my se realiza la suma. - Al terminar las 12 vueltas, el flujo sale hacia un bloque de salida de datos para mostrar el total acumulado.
3. Estructura «Repite» (Do-While)
Ejemplo: Sumar 10 valores ingresados por el usuario.
| Nombre | Descripción | Tipo |
|---|---|---|
SU | Suma acumulada (acumulador) | Entero/Real |
VA | Valor ingresado | Entero/Real |
C | Contador de vueltas | Entero |
Pseudocódigo:
- Inicio
- Hacer
SU = 0yC = 1 - Repite
- Leer
VA - Hacer
SU = SU + VA - Hacer
C = C + 1
- Leer
- Hasta que
C <= 10 - Mostrar
SU - Fin
Descripción del Diagrama de Flujo:
- Primero se inicializan
SUyC. - El flujo entra directamente a las acciones: leer
VA, sumar aSUe incrementarC. - Al final de estas acciones, aparece un rombo de decisión que pregunta si
C <= 10. - Si la condición se cumple, una flecha regresa el flujo hacia arriba (antes de la lectura de
VA) para repetir el proceso. - Si ya no se cumple, el flujo baja para mostrar el resultado final
SU.
Nota: En tus apuntes también aparece cómo hacer este mismo ejercicio de suma usando la estructura Desde, lo cual es muy útil para comparar cómo se simplifica el manejo del contador C.
