Sentencias de Control de Flujo #8
- Sentencias Básicas de Programación #8-2
- Operadores en la Programación de videojuegos #6-2
- Constantes en Programación #4
- Funciones en la Programación #9
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 0\n\n”);
}
else if(x > 0){
printf(“El numero introducido es positivo\n\n”);
}
else{
printf(“El numero introducido es negativo\n\n”);
}
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”.
Más en GuiaMania















David Saltares el 10/10/2008






Como le doy la orden para que diferencie un numero par de uno impar?
TerryArchi: A ver, debes pensar qué condiciones cumple un numero par, por ejemplo. Un número par, efectivamente es divisible de dos, o lo que es lo mismo, múltiplo de dos. De esta manera al dividirlo por dos, el resto debe ser 0.
Si miras el tema de operadores descubrirás que el operador módulo (%) dice el resto de la división de dos números. Para comprobar si un número es par deberías hacer: (numero%2 == 0). Si el resto de dividir el número entre 2 es cero quiere decir que el número es par. Si es distinto de 0, (1) el número será impar.
Saludos.
Muchas gracias. Lo que pasa es que no había entendido muy bien esa parte del moludo. De nuevo muchas gracias.
Hola
El curso está muy bien, es una maravilla pero ¿Habéis desactivado la posibilidad de seleccionar el texto en la página? Si es así, por favor volved a activarlo. Para seguir el curso es mucho más comodo poder copiar y pegar los textos.
Gracias
Es Verdad es mas comodo y hay menos errores Bueno Copiandolo pueden que alla mas errores
Y tengo un problema en el Dev-c++ Por que hice el programa y Cuando Se Ejecuta Aparece Una Ventana que Dice nada Mas
que Dice
Presiona Cualquier Tecla Para Continuar
David Sabes Cual Es el Problema????
No os hace falta copiar el texto, es mejor que lo escribáis y así aprendéis.
Nivrek: no doblepostees, con que lo preguntes una vez ya vale. Si te aparece ese texto es porque has puesto un system(”pause”); Pero si no te sale nada más es porque no has escrito ninguna instrucción para que se imprima algo por pantalla. Copiame tu código aquí.
Saludos.