Computación para Ingenieros

Anuncio
Computación para Ingenieros
Sentencias de control de flujo
Las sentencias de un programa en C se ejecutan secuencialmente, esto es, cada una a continuación de la
anterior empezando por la primera y acabando por la última. El lenguaje C dispone de varias sentencias para
modificar este flujo secuencial para guiar la ejecución del programa, indicando al compilador cual es la
próxima sentencia a ejecutar, cuantas veces deben ejecutarse un número de sentencias, qué camino debe
seguir, etc.
Sentencia IF/ELSE
Se considera una sentencia de bifurcación o selección y permite ejecutar o no una sentencia o un conjunto
de sentencias según se cumpla o no una determinada condición. Esta sentencia en su forma más simple sólo
comprende un if [condición] que determina si se deben ejecutar o no las sentencias que vienen a
continuación, dependiendo si se cumple o no dicha condición. Su forma básica sería la siguiente:
If (expresión) sentencia;
En esta sentencia se evalúa expresión. Si el resultado es verdadero, se ejecuta sentencia; si el resultado es
falso, se salta a sentencia y se prosigue en la línea siguiente. Hay que recordar que sentencia puede ser una
sentencia simple o un conjunto de sentencias (en caso de que fueran varias deberían ir contenidas en bloque
entre llaves {…})
Ejemplo:
Sentencia SWITCH
Ésta es una sentencia de bifurcación o selección y es similar a la secuencia if/else con múltiples
ramificaciones, aunque con algunas diferencias. En este caso se evalúa una expresión (condición) y
dependiendo del valor que devuelva, que pueden ser múltiples valores, se ejecutará un bloque de sentencias
y otro. En el caso de la sentencia if/else, se evaluaba una condición y sólo podían ejecutarse dos bloques de
sentencias dependiendo de si esa condición se cumplía o no. La forma general de switch es la siguiente:
Sentencias de control
Ing. Tanya I. Arteaga Ricci
Computación para Ingenieros
switch (expresión){
case valor1:
case valor2:
...
case valorN:
default:
}
sentencia;
break;
sentencia;
break;
sentencia;
Break;
sentencia;
break;
La sentencia switch debe interpretarse de la siguiente manera. En primer lugar, se evalúa expresión y se
considera el valor resultante de dicha evaluación. Dependiendo de con qué coincida ese valor (valor1, valor2,
…, valorN), se ejecutará un grupo de sentencias u otro. Si no coincide con ningún de los valores definidos, se
ejecutará el grupo de sentencias se ejecutará el grupo de sentencias contenido en la opción default. La
opción default es opcional, por lo que, si no existe y el valor de expresión no coincide con ninguna de las
posibilidades, no se ejecutará ningún bloque de sentencias.
Ejemplo:
Sentencia WHILE (Iteración)
Esta sentencia se considera una sentencia de tipo bucle que permite repetir una serie de veces la ejecución
de un bloque de código. Esta repetición se realiza hasta que se cumpla una determinada condición de tipo
lógico o aritmético. En su forma general seria:
while (condición)
{
Sentencia1;
Sentencia2;
…
}
Sentencias de control
Ing. Tanya I. Arteaga Ricci
Computación para Ingenieros
La condición se evalúa antes de la ejecución del bloque de sentencias y, en caso de que se cumpla dicha
condición, es decir, que su resultado sea true, se ejecutará el bloque de sentencias contenido entre llaves. Se
ejecutará de forma interactiva ese bloque de sentencias hasta que la condición sea falsa, en cuyo caso el
programa ejecutará la siguiente línea de código que sigue al bloque. En este caso, la condición para decidir si
sale o no del bucle está antes de las sentencias, por lo que es posible que esas sentencias no se lleguen a
ejecutar ni una sola vez.
Ejemplo:
Sentencia DO..WHILE (Iteración)
Se considera una sentencia de tipo bucle que se comporta exactamente igual que la sentencia while, con la
diferencia de que dicha evaluación se realiza al final de cada pasada en lugar de al principio, por lo que se
asegura que, al menos, se ejecutará una vez el bloque de sentencias. Su forma general es la siguiente:
do
{
sentencia1;
sentencia2;
} while (condición);
Ejemplo:
Sentencias de control
Ing. Tanya I. Arteaga Ricci
Computación para Ingenieros
Sentencia FOR (Iteración)
La sentencia de control for se considera una sentencia de tipo bucle que, al igual que while, permite repetir
una serie de veces la ejecución de un bloque de código. La ventaja de la sentencia for sobre while está en
que en la cabecera de la construcción for se tiene toda la información sobre cómo se inicializan, controlan y
actualizan las variables de bucle. La evaluación de la condición se realiza al principio de la ejecución. La
forma general de esta sentencia es la siguiente:
for (expresion1; expresion2; expresion3)
{
Sentencias;
}
En una sentencia for, antes de iniciarse el bucle, se ejecuta expresion1, que puede ser una o más sentencias
que asignan valores iniciales a ciertas variables o contadores. A continuación se evalúa expresion2 y, si es
false, se prosigue en la sentencia siguiente a la estructura for, es decir, se sale del bucle, si true, se ejecutan
las sentencias inmediatamente seguidas al for, además de expresion3 y, seguidamente, se vuelve a evaluar
expresion2. El proceso prosigue hasta que expresion2 sea false.
Ejemplo:
Sentencias de control
Ing. Tanya I. Arteaga Ricci
Descargar