Sentencias Básicas de Programación #8-2
Bienvenidos de nuevo a programación de videojuegos, hoy veremos los bucles, ahora paso a explicar lo que son y qué tipos podremos encontrarnos y utilizar.
- Selección múltiple switch:
Esta sentencia la utilizaremos cuando la variable de la que dependan nuestras acciones pueda tomar múltiples valores y para cada uno de ellos necesitemos un tratamiento especial. Esto es lo mismo que poner varios if y else if uno detrás de otro, pero de esta manera queda más limpio. Veamos su sintaxis:
switch(variable){
case valor 1: /* código que se ejecuta si la variable vale (el valor que se haya puesto) */
sentencias;
break;
case valor 2: /* código que se ejecuta si la variable vale (el valor que se haya puesto) */
sentencias;
break;
case valor 3: /* código que se ejecuta si la variable vale (el valor que se haya puesto) */
sentencias;
break;
default: /* código que se ejecuta si la variable tiene un valor distinto a los anteriores */
sentencias;
break;
}
De esta manera podemos hacer un menú. El usuario introduce una opción por teclado y mediante un switch se determina que opción eligió y se actúa en consecuencia. Debería aparecer un texto con las opciones enumeradas, posteriormente el usuario introduciría un número de esas opciones y se ejecutaría el switch.
- Bucle while:
Los bucles son trozos de código que se repiten varias veces. Veamos el bucle while como ejemplo:
while(condición){
instrucciones;
}
Mientras se cumpla la condición, se ejecutan las instrucciones, cuando llega al final, comprueba de nuevo la condición, si se cumple entra en el bucle, sino, continua cuando este finaliza. Veamos un algoritmo que suma los número pares del 1 hasta el 100.
int sumapares = 0, contador = 2;
while(contador <= 100){
sumapares = sumapares + contador;
contador = contador + 2;
}
Como veis, el contador aumenta, sino aumentase nos quedaríamos en el bucle eternamente y el programa no funcionaría. Es importante controlar la salida del bucle.
- Bucle do while
La diferencia con el bucle while es que el do while se ejecuta una vez como mínimo.
do{
sentencias;
}while(condición)
Primero se ejecuta una vez y luego comprueba si se cumple la condición, si es así vuelve a ejecutarse, sino, continua.
- Bucle for
Este es un bucle abreviado. Sólo se usa cuando se conoce el número de veces que se repetirá el bucle, veamos cómo se usa:
for(i = 0; i < 10; i++){
sentencias;
}
Este es un ejemplo de su uso, se compone de un for y paréntesis, dentro del paréntesis hay tres partes separadas por dos punto y coma. En la primera se le asigna a i, (una variable que debe ser declarada anteriormente) el valor cero, la siguiente parte es la condición de salida, el bucle se ejecutará mientras que i sea menor que 10. Finalmente la tercera parte es el incremento, cada vez que se ejecute el bucle i valdrá una unidad más.
Es un bucle cómodo cuando se sabe que se ejecutará un número determinado de veces, 10 en esta ocasión, desde 0 hasta 9.
Esto es todo por hoy. Quiero que hagáis una cosa algo más complicada de tarea:
- Realizar un programa con un menú que contenga las siguientes opciones y que aparezcan de manera numerada: sumar, restar, multiplicar, dividir, elevar. El usuario introducirá un número correspondiente a la opción. Mediante un switch se ejecutará cada una de las operaciones. Dentro de cada parte del switch se le deberá pedir al usuario que introduzca los datos correspondientes. Con dichos datos se realizará la operación pedida y se le devolverá el resultado al usuario.
De esta manera haremos una pequeña calculadora. ¡Esto se vuelve interesante!
Números anteriores de “Programación de videojuegos”.
Todo sobre















Autor:
(David Saltares) , 13/10/2008 



Hice la calculadora, pero cuando quiero sumar numeros como,por ejemplo: 10000000000+10000000000=-1474836480. Sabes porque pasa esto?
TERRYARCHI: ESO PASA CUANDO NO DECLARAS LAS VARIBLES CON TIPOS GRANDES, COMO EL DOUBLE, LONG Y NO RECUERDO MAS, CREO QUE DAVID NO HA TOCADO ESE TEMA, SOBRE LAS LONGITUDES DE LOS TIPO DE DATOS. SI TODAS TUS VARIABLES LAS DECLARAS DOUBLES ME PARECE QUE YA NO TENDRAS PROBLEMAS
Ah, gracias. Para double se usa %d o solo %i ?
TerryArchi: Las variables tienen un dominio, es decir, hay un conjunto de valores que pueden tomar. Más allá de ciertos límites fallan. En los enteros el límite está alrededor de entre -32000 y 32000, con los double es más amplio. Aún así puedes poner unsigned int al declarar la variable. De esta manera, sólo se toman valores positivos, con lo cual puede albergar el doble de numeros (aunque sólo positivo). ENHORABUENA POR LO DE LA CALCULADORA. Saludos.
:S ya no como al principio ya casi no explicas nada
Primero decir para y como se usa la funcion segundo Hacer Problemas como los primero en con el cual uno entendia mas Tercero Mandar tutoriales donde enseñes mas a fondo lo que explicaste en la secciones como esta y no veo otro problema