Google
Web dns.bdat.net

Estructuras de control

 

Estructuras de control

Un programa de actividades es una sucesión ordenada de eventos. Los eventos se ordenan en secuencia, de principio a final, pero no siempre la secuencia se sigue estrictamente, sino que es necesario tomar decisiones sobre la marcha dependiendo de alguna condición. Por ejemplo, "si llueve se celebrará en el salón" establece un condicionante sobre el desarrollo de las actividades que habrá que decidir en el instante preciso.

 

Profundizando un poco sobre el desarrollo de un programa vemos como aparecen los conceptos de de "condición" y "decisión" como parte integrante del propio programa. No basta con una secuencia de actividades para definir un programa, exagerando un poco, podemos definir un programa como un conjunto de alternativas.

 

Podemos entender una condición como un elemento que puede, cumplirse o no cumplirse, ser si o no, verdadero o falso. La base de cualquier decisión es una condición, o lo que es lo mismo, una decisión es consecuencia de una condición.

 

Durante la realización de las actividades de un programa se pueden tomas distintos tipos de decisiones para alterar el orden normal de la actividad. Las decisiones pueden ser simples, realizar una acción si se produce una condición: "Si llueve se repartirán paraguas".

Las decisiones pueden presentar alternativas: "Si llueve se celebrará en el salón, si no en el jardín". La decisión puede implicar repetir una acción un determinado número de veces: "se repartirán 1.000 entradas". La decisión puede implicar una repetición de un número no concreto de veces: "se proyectará la cinta hasta que todos hayan podido verla".

 

Resumiendo y concretando un poco el anterior análisis, un programa es un conjunto ordenado de actos y decisiones que pueden alterar el orden o ejecución de dichos actos. Un programa de software no difiere esencialmente de la definición anterior, es un conjunto ordenado de instrucciones y decisiones y se rige por los mismos criterios.

 

Una estructura de control es el mecanismo que permite tomar decisiones para alterar la secuencia de un programa. Hemos visto que podemos tomar distintos tipos de decisiones y todas ellas se pueden ver reflejadas en un estructura de control.

 

Tipos de estructuras de control

Decisiones

Las decisiones pueden simples o alternativas. Una decisión simple permite insertar una serie de instrucciones en la secuencia normal del programa. Volviendo a los ejemplos anteriores:

 

"Si llueve entonces se repartirán paraguas".

 

implica que cuando se cumpla una condición (llover) se tiene que realizar una acción (repartir paraguas) y después continuar con la secuencia. Hemos insertado una acción cuando se verifica una condición.

 

Eso lo podemos expresar de una forma más formal como:

 

si (condición} {acciones}

 

o como es más habitual

 

if (condición} {acciones}

 

El caso de las decisiones alternativas es ligeramente diferente, ya no insertamos una simple serie de acciones en la secuencia del programa sino que insertamos unas secuencias de instrucciones alternativas que dependen de una condición. Es decir, dependiendo de una condición hacemos el grupo a de instrucciones o hacemos el grupo b y continuamos con el resto. En el caso de los ejemplos anteriores tendríamos:

 

Si llueve se celebrará en el salón, sino en el jardín

 

Como comentaba antes, hacemos una cosa u otra, insertamos una alternativa.

En este caso la expresión formal de esta estructura de control sería:

 

if (condición}

{acciones cuando la condición sea verdadera}

else

{acciones cuando la condición sea falsa}

 

 

Bucles

Utilizaremos un bucle cuando queramos repetir una serie de acciones varias veces. Tenemos dos formas de repetir las acciones, mientras una condición sea cierta o repetida un número concreto de veces. en el primer caso tendremos, formalmente:

 

while(condición)

{ conjunto de acciones a repetir}

 

Por ejemplo:

 

mientras queden entradas hay que venderlas

 

En el caso de repetir un número concreto de veces un serie de acciones, por ejemplo, "vender mil entradas" se podría hacer fácilmente utilizando una estructura while, pero la mayoría de los lenguajes utilizan una estructura for, que de forma genérica se puede expresar como:

 

for (i=0;i<numero;incrementar i)

{acciones a repetir}