Está en la página 1de 5

Sentencias de control del flujo de un programa.

Cuando se escribe un programa, se introduce la secuencia de sentencias dentro de un


archivo. Sin sentencias de control del flujo, el intérprete ejecuta las sentencias conforme
aparecen en el programa de principio a fin. Las sentencias de control de flujo se emplean
en los programas para ejecutar sentencias condicionalmente, repetir un conjunto de
sentencias o, en general, cambiar el flujo secuencial de ejecución. Las sentencias selectivas
o condicionales se verán en este capítulo y las sentencias repetitivas en el siguiente.

Sentencia If-else.
Es una bifurcación o sentencia condicional de una o dos ramas. La sentencia de control
evalúa la condición lógica o booleana. Si esta condición es cierta entonces se ejecuta la
sentencia o sentencias (1). En caso contrario, se ejecuta la sentencia (2) que sigue a else
(si ésta existe). La sentencia puede constar opcionalmente de una o dos ramas con sus
correspondientes sentencias.
La expresión Lógica debe ir entre paréntesis. Las llaves sólo son obligatorias si las
sentencias (1) o (2) son compuestas (las llaves sirven para agrupar varias sentencias
simples). Las sentencias If–else pueden ir anidadas unas dentro de otras en el código
fuente del programa.

Sentencia Switch.
Es una sentencia condicional multiramificada o de selección múltiple: dependiendo del
valor de una variable o expresión entera permite ejecutar una o varias sentencias de entre
muchas. La expresión puede ser de un tipo ordinal (de tipo entero byte, short ó int o de
tipo carácter char) pero no puede ser de un tipo real o de un tipo cadena.

Sentencias repetitivas o bucles.


Los bucles, iteraciones o sentencias repetitivas modifican el flujo secuencial de un
programa permitiendo la ejecución reiterada de una sentencia o sentencias. En Java hay
tres tipos diferentes de bucles:

1. For.
2. while.
3. do-while.
Sentencia for.
Es un bucle o sentencia repetitiva que ejecuta la sentencia de inicio verifica la expresión
booleana de término.
a. sí es cierta, ejecuta la sentencia entre llaves y la sentencia de iteración para volver a
verificar la expresión booleana de término
b. sí es falsa, sale del bucle.
Las llaves sólo son necesarias si se quieren repetir varias sentencias, aunque se recomienda su uso
porque facilita la lectura del código fuente y ayuda a evitar errores al modificarlo. Habitualmente,
en la expresión lógica de término se verifica que la variable de control alcance un determinado
valor. Es completamente legal en Java declarar una variable dentro de la cabecera de un
bucle for. De esta forma la variable (local) sólo tiene ámbito dentro del bucle.

Sintaxis:
for (inicio; termino; iteracion)
sentencia;

Sentencia while.
Es un bucle o sentencia repetitiva con una condición al principio. Se ejecuta una sentencia
mientras sea cierta una condición. La sentencia puede que no se ejecute ni una sola vez.
Por convención: El carácter de llave de apertura {se coloca al final de la misma línea de la
sentencia while. El carácter de llave de cierre} empieza una nueva línea y se alinea con la
palabra while.

Sintaxis:
[inicializacion;]
while (expresionLogica) {
sentencias;
[iteracion;]
}
Sentencia do-while.
Es un bucle o sentencia repetitiva con una condición al final. Se ejecuta una sentencia
mientras sea cierta una condición. En este caso, la sentencia se ejecuta al menos una vez.

Sintaxis:
do {
sentencias;
[iteracion;]
} while (expresionLogica);

Flujo secuencial.
El flujo secuencial de ejecución es la estructura algorítmica más simple e intuitiva.
Corresponde a la ejecución lineal (una a una y en el orden mostrado) de una secuencia de
operaciones. En esta estructura la ejecución se lleva a cabo exactamente de acuerdo con
el orden presentado en el diagrama de flujo o pseudocódigo.

Estructuras de decisión.
Para la mayoría de los problemas que se pretenden resolver mediante la utilización de
algoritmos computacionales, resulta imposible el utilizar exclusivamente estructuras con
flujo secuencial de ejecución, debido a que un algoritmo generalmente necesita bifurcar
su flujo de acuerdo con el valor de una variable o luego de comprobar una condición.
las estructuras de decisión que se encuentran disponibles o se pueden implementar en la
mayoría de los lenguajes de programación.

Si-entonces (If-Then)
Esta estructura evalúa una condición específica (una expresión booleana) y en caso de que
sea verdadera, se ejecuta la sentencia o bloque de sentencias luego de la palabra Then
(Entonces); si la condición es falsa, la(s) sentencia(s) luego de Then se ignoran y la
ejecución sigue con las sentencias que están a continuación de la estructura If-Then.
Si-entonces-sino (If-Then-Else)
Cuando la condición es verdadera, se ejecuta la sentencia o bloque de sentencias luego de
la palabra Then, e inmediatamente se prosigue con las sentencias después de la
estructura If-Then-Else. Pero si la condición es falsa, se ejecuta la sentencia o bloque de
sentencias luego de la palabra Else, y luego se continúa con las sentencias después de la
estructura If-Then-Else.

Estructuras de decisión anidadas


Se puede utilizar cualquier tipo de sentencia tras la palabra Then o Else; incluso otra
estructura If-Then o If-Then-Else. Cuando una o ambas bifurcaciones de una sentencia If-
Then o If-Then-Else contienen también una estructura If-Then o If-Then-Else, se dice que
la estructura corresponde a una estructura If anidada y al proceso se lo denomina
anidamiento.

Estructura de selección múltiple (Switch)


La estructura de selección múltiple Switch (llamada también Case o Select) ofrece
características de ejecución similares o equivalentes a las brindadas por la estructura If-
Then-Else, pero con la diferencia de que permite hacerlo recurriendo a un código mucho
más sencillo y, por lo tanto, más legible. Este tipo de estructura se utiliza cuando son más
de dos las alternativas en una estructura básica de decisión. Hay que dejar claro que el
único beneficio que representa esta estructura de selección múltiple es la legibilidad del
código; puesto que toda estructura Switch puede ser escrita con varias estructuras If con
los mismos resultados, con el condicionante de que las alternativas siempre serán valores
preestablecidos (no rangos).

Estructuras de repetición.
La mayoría de los lenguajes de programación permiten utilizar estructuras de iteración y
repetición, que no son más que estructuras que permiten la ejecución periódica de una o
más sentencias mientras o hasta que se cumpla una condición.

Mientras (While)
La instrucción While permite ejecutar repetidamente una sentencia o bloque de
sentencias mientras una condición sea verdadera (o hasta que la condición sea falsa).
Repetir Hasta (Repeat-Until)
Con la estructura Repetir Hasta (Repeat-Until), primero ejecuta una sentencia o bloque de
sentencias y luego se evalúa la condición de repetición después de cada ejecución. La
estructura Repetir hasta garantiza al menos una ejecución de la(s) sentencia(s) y detiene
las iteraciones cuando la condición es verdadera.

Para (for)
Los bucles While y Repeat generalmente se utilizan cuando no se sabe de antemano
cuántas veces se necesitará ejecutar una sentencia o bloque de sentencias (se itera
mientras o hasta que se cumpla una condición). La estructura de repetición For se utiliza
cuando se sabe exactamente y de antemano cuántas veces se debe(n) ejecutar la(s)
sentencia(s).

Contadores
Un contador es una variable que incrementa su valor en un número fijo cada vez que se
cumple una condición o se realiza una iteración dentro de un bucle. El incremento en los
contadores por lo general es de una unidad, sin embargo, es posible que este valor sea
diferente (incluso podría darse un decremento). El contador se utiliza para llevar la cuenta
de determinadas acciones que se ejecutan durante la resolución de un problema.

Acumuladores
Un acumulador es una variable que suma a su valor una cantidad que puede ser variable.
Se utiliza para efectuar sumas sucesivas en bucles o cuando se cumple una condición. Se
puede decir que un contador es un caso específico de acumulador (un contador es un
acumulador que suma siempre un valor constante).

Banderas
Una bandera (llamada también interruptor o conmutador) es una variable que durante la
ejecución de un algoritmo solamente toma uno de dos o más valores posibles. Se utilizan
por lo general para salir de una estructura de repetición Mientras y Repetir o para variar el
flujo de ejecución. Como para cualquier variable, se debe inicializar el valor de la bandera
antes de utilizarla y solamente se cambiará su valor cuando se cumpla una condición
específica.

También podría gustarte