Ir al contenido principal

ESTRUCTURAS DE CONTROL - 1 PARTE

Llamaremos estructuras de control a las acciones que tiene por objeto marcar el orden de realización de los distintos pasos de un programa o algoritmo. Cada estructura tiene un punto de entrada y uno de salida, lo que facilita la depuración de posibles errores. Estas son de tres tipos:
  • Estructuras Secuenciales
  • Estructuras Selectivas 
  • Estructuras Repetitivas
ESTRUCTURAS SECUENCIALES
ESTRUCTURAS SELECTIVAS
Uno de estos casos se produce cuando existen varias alternativas, resultantes de la evaluación de una determinada condición. Las estructuras selectivas en un programa se utilizan para tomar decisiones, evaluando una condición, especificada mediante expresiones lógicas, en función de cuyo resultado, se realiza una opción u otra. En una primera aproximación, para esta toma de decisiones, podemos pensar en una variable interruptor o conmutador (switch), que representa un estado y por tanto puede cambiar de valor a lo largo  de la ejecución regulando el paso a una u otra parte del programa, lo que supone una bifurcación en el flujo del program, dependiendo del valor que tome el conmutador. Los interruptores pueden tomar dos valores diferentes frecuentemente 1 y 0, de ahí su nombre de interruptor ("encendido"/"apagado","abierto"/"cerrado").
Alternativa simple (if-then/si-entonces)
La estructura alternativa simple si--entonces ejecuta una determinada acción cuando se cumple una determinada condición. La selección si-entonces evalúa la condición y
- si la condición es verdadera, entonces ejecuta la acción S1
- si la condición es falsa, entonces no hacer nada
Representación gráfica:

  • Pseudocódigo en español Pseudocódigo en inglés

si <condición> if <condición>
entonces <acción S1> then <acción S1>
fin_si end if

  • Alternativa doble (si-entonces-sino/if-then-else)
La estructura anterior es muy limitada y normalmente se necesitará una estructura que permita elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición.
Si la condición C es verdadera, se ejecuta la acción S1, y si es falsa, se ejecuta la acción S2.
Pseudocódigo en español Pseudocódigo en inglés
si <condición> if <condición>
entonces <acción S1> then <acción S1>
sino <acción S2> else <acción S2>
fin_si end if

  • Alternativas múltiples (según_sea, en_caso_de)
Las estructuras de comparación múltiples, es una toma de decisión especializada que permiten evaluar una variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La estructura de selección nos permite elegir una ruta de entre varias rutas posibles, en base al valor de una variable que actúa como selector. En el momento en que se encuentre una coincidencia, se ejecuta la acción correspondiente a dicha constante y se abandona la estructura.
La condicional ELSE (Caso contrario) es un selector opcional que se activa como caso contrario, si uno de los términos anteriores no se ha activado.
Cuando existen más de dos elecciones (alternativas) posibles, es cuando se presenta el caso de alternativas múltiples. Si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad.
La estructura de decisión múltiple evaluará una expresión que podrá tomar n valores distintos 1,2,3,4,..n . Según que elija uno de estos valores en la condición, se realizará una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles.

Ejemplo:
Se desea diseñar un algoritmo que escriba los nombres de los días de la semana en función del valor de una variable DIA introducida por teclado.
Los días de la semana son 7; por consiguiente, el rango de valores de DIA será 1..7, y caso de que DIA tome un valor fuera de este rango se deberá producir un mensaje de error advirtiendo la situación anómala.

1.-Inicio
2.-Leer DIA
3.-En caso de DIA sea
1: 3.1 escribir('Lunes')
2: 3.2 escribir('Martes')
3: 3.3 escribir('Miércoles')
4: 3.4 escribir('Jueves')
5: 3.5 escribir('Viernes')
6: 3.6 escribir('Sábado')
7: 3.7 escribir('Domingo')
De Lo Contrario
3.8 escribir('Error')
fin_según (3)
4.-fin

Comentarios