Sentencias de Control de Flujo #8

Bien, en la anterior entrega os mandé tarea, espero que la hayáis realizado. Si os ha funcionado lo que se os pedía perfecto, sino mandadme los programas a mi correo (david.saltares@gmail.com) para que les eche un vistazo. Ahora comencemos con el siguiente capítulo:

Capítulo 8: Sentencias de control de flujo

Hasta ahora habíamos escrito algoritmos que se ejecutaban secuencialmente, instrucción por instrucción, desde la primera a la última. Esto nos limita muchas cosas ya que no controlamos el flujo de la ejecución del programa. A veces nos interesa que si una variable tiene un determinado valor o si se cumplen ciertas condiciones se ejecuten unas instrucciones u otras. Para ello utilizaremos las sentencias de control de flujo.

– Sentencias de condición, if:

Veamos como es la sintaxis de esta sentencia:

if(condición){

instrucción1;

instrucción2;



}

Es decir, si se cumple la condición del paréntesis se ejecutan las instrucciones entre corchetes, sino, salta hasta después del segundo corchete y el programa se sigue ejecutando. Veamos un ejemplo imaginario:

if(x > 0){

x = x * (-1);

}



En este caso, si x es un número positivo, lo multiplica por menos 1, es decir, lo pasa a negativo. Es un ejemplo simple pero que entenderéis fácilmente.



– Sentencias de consición if, else:

A veces querremos que si se cumple una condición se ejecuten una serie de instrucciones pero si no se cumple que se ejecuten otras, esto lo podemos hacer de la siguiente manera:

if(condición){

instrucción1;

instrucción2;



}

else{

instrucción1;

instrucción2;



}

Por supuesto, las condiciones se escriben como en el ejemplo anterior. Si lo que se incluye dentro del paréntesis devuelve 0 (la condición no se cumple) no se ejecuta, si vale un número distinto de 0 (la condición si se cumple) si se ejecuta. También se puede hacer esto:

if(5){

}



Así lo que esté dentro del paréntesis siempre se ejecuta, porque contiene un valor distinto de 0.

– Sentencias de condición: if, else if, else:

A veces no querremos usar un if y un else solamente, sino que se pueden dar más de dos casos. Pondré un ejemplo para ilustrarlo.

#include <stdio.h>

#include <stdlib.h>

int main(void){

int x;

printf(“Introduce un numero: “);

scanf(“%i”, &x);

fflush(stdin);

if(x == 0){

printf(“El numero introducido es 0nn”);

}

else if(x > 0){

printf(“El numero introducido es positivonn”);

}

else{

printf(“El numero introducido es negativonn”);

}

system(“pause”);

return 0;

}

Se pueden poner todos los else if que se deseen.

También se pueden colocar estructuras de control de flujo anidadas una dentro de la otra, por ejemplo:

if(condicion){

instrucción;

if(condición2){

instrucción;

}

}

else{

}



Se pueden anidar todas las que se quieran, como es lógico.

De tarea para casa os propongo los ejercicios siguientes:

– Escribir un programa en el que el usuario introduzca un número y le diga si es divisible entre 2 o no.

– Escribir un programa en el que el usuario introduzca dos números y el programa el diga cual es el mayor de ellos.

– Escribir un programa en el que el usuario introduzca tres número y el programa le diga cual es el menor de ellos.

Espero que os haya gustado, nos vemos dentro de dos días en esta sección. Hay más sentencias que veremos en próximos números.



Números anteriores de “Programación de videojuegos
.





    el 10.10.08

 

Especiales