INSTRUCCIONES DE CONTROL



La estructura condicional if ... else
En la gran mayoría de los programas será necesario tomar decisiones sobre qué acciones realizar. Esas decisiones pueden depender de los datos que introduzca el usuario, de si se ha producido algún error o de cualquier otra cosa.
La estructura condicional if ... else es la que nos permite tomar ese tipo de decisiones. Traducida literalmente del inglés, se la podría llamar la estructura "si...si no", es decir, "si se cumple la condición, haz esto, y si no, haz esto otro".
Un ejemplo sencillo sería el siguiente (no se trata de un programa completo, sino tan sólo una porción de código): if (edad <>
La estructura condicional switch ... case
La estructura condicional switch ... case se utiliza cuando queremos evitarnos las llamadas escaleras de decisiones. La estructura if nos puede proporcionar, únicamente, dos resultados, uno para verdadero y otro para falso. Una estructura switch ... case, por su parte, nos permite elegir entre muchas opciones:ejemplo con un salario con ola condicion switch/*si*/#include#includemain(){ int nivel; float salario, slanuevo; printf("introduce tu nivel\n"); scanf("%d",&nivel); printf("dame tu salario\n "); scanf("%f",&salario); switch (nivel) { case 1: slanuevo=salario+(salario*.035); printf("tu salario es:%f\n",slanuevo); break; case 2: slanuevo=salario+(salario*.041); printf("tu salario es:%f\n",slanuevo); break; case 3: slanuevo=salario+(salario*.048); printf("tu salario es:%f\n",slanuevo); break; case 4: slanuevo=salario+(salario*.053); printf("tu salario es:%f\n",slanuevo); break; default: printf("tu salario es:%f\n",salario);}getch();} switch (semaforo) { case 1: printf("El semáforo está verde.\n"); break; case 0: printf("El semáforo está rojo.\n"); break; case 2: printf("El semáforo está anaranjado.\n"); break; case 3: printf("El semáforo está anaranjado parpadeante.\n"); break; default: printf("ERROR:¡El semáforo no puede estar en ese estado!.\n");}
El bucle while
El bucle while sirve para ejecutar código reiteradas veces.while (/* Condición de ejecución del bucle */) { /* Código */}
La condición ha de ser una sentencia que devuelva un valor booleano, y esta puede ser el valor booleano en sí, verdadero (true o 1) si la condición se cumple, o falso si esta no se cumple (false o 0). También puede ser el nombre de una variable, y el valor de la expresión dependerá de su contenido. Aunque sea una variable no booleana, siempre se podrá usar, si vale 0 será como si la condición no se cumpliera, y siempre que sea diferente de 0, se considerará que la condición se cumple.

El bucle for
El bucle for es un bucle muy flexible y la vez muy potente ya que tiene varias formas interesantes de implementarlo, su forma más tradicional es la siguiente:for (/* inicialización */; /* sentencia condicional */; /* incremento o decremento */) { /* código a ejecutar */}
Inicialización: en esta parte se inicia la variable que controla el bucle y es la primera setencia que ejecuta el bucle, solo se ejecuta una vez ya que solo se necesita al principio del bucle.
Sentencia condicional: es la segunda sentencia que ejecuta el bucle, es una sentencia condicional válida, que determina si el bucle se ejecutará o no. incremento o decremento: es la ultima sentencia que ejecuta el bucle por lo general incrementar la variable con que se inicio el ciclo, después de eso el bucle revisa nuevamente la condición, si es verdadera tiene lugar una ejecución más del cuerpo del ciclo, si es falsa se termina el ciclo y así la repetición. Aquí muestro un ejemplo de un bucle que se ejecuta 100 veces:for (int i=0; i <>, >=; junto con otro valor; esta parte del bucle también se puede implementar con una variable de tipo bool.
NOTA: recuerde que en cualquier sentencia donde se evalúa una expresión válida, un valor de retorno=0 se considera falso y cualquier valor distinto de cero es verdadero, así false=0 y true=1.

El bucle do...while
El bucle do...while es un bucle que, por lo menos, se ejecuta una vez. While significa "mientras"
Su forma es esta:do { /* CODIGO */} while (/* Condición de ejecución del bucle */)
Os muestro un ejemplo sencillo de uso:int aleatorio;do { aleatorio = rand();} while (aleatorio != 25)
La verdad es que este ejemplo puede resultar un poco absurdo, pero es bastante intuitivo. El código del bucle asigna un valor aleatorio a la variable definida anteriormente, y mientras esa variable no tenga el valor 25, el bucle sigue ejecutándose.

El goto
La sentencia goto sirve para indicar al programa que continue ejecutándose desde la línea de código indicada. La verdad es que es una sentencia poco aceptada por la comunidad de programadores, pues puede provocar que se hagan programas un poco "sucios" y confusos.
Su sintaxis es más o menos así:/* Código */ETIQUETA:/* Código */goto ETIQUETA;/* Código */

No hay comentarios: