CENTRO DE ESTUDIOS TECNOLGICOS industrial y de servicios N 4
Aquiles Serdn Alatriste
Desarrolla software utilizando programacin estructurada. Prctica 4. Programando en C++
Nombre del Alumno: ___________________________________________ Fecha: _______________________ INTRODUCCIN: Conceptos Generales. ESTRUCTURAS DE CONTROL El C++, como todo lenguaje de programacin basado en la algortmica, posee una serie de estructuras de control para gobernar el flujo de los programas. Antes de comenzar debemos recordar que la evaluacin de una condicin producir como resultado un cero si es falsa y un nmero cualquiera distinto de cero si es cierta, este hecho es importante a la hora de leer los programas, ya que una operacin matemtica, por ejemplo, es una condicin vlida en una estructura de control. Estructuras de seleccin Dentro de las estructuras de seleccin encontramos dos modelos en el C++, las de condicin simple (sentencias if else) y las de condicin mltiple (switch). A continuacin estudiaremos ambos tipos de sentencias. La sentencia if, e emplea para elegir en funcin de una condicin. Su sintaxis es: if (expresin) sentencia 1 else sentencia 2 Los parntesis de la expresin a evaluar son obligatorios, la sentencia 1 puede ser una sola instruccin (que no necesita ir entre llaves) o un bloque de instrucciones (entre llaves pero sin punto y coma despus de cerrar). El else es opcional, cuando aparece determina las acciones a tomar si la expresin es falsa. El nico problema que puede surgir con estas sentencias es el anidamiento de if y else: Cada else se empareja con el if ms cercano: if (expr1) if (expr2) accin 1 else // este else corresponde al if de expr 2 accin 2 else // este corresponde al if de expr1 accin 3 Para diferenciar bien unas expresiones de otras (el anidamiento), es recomendable tabular correctamente y hacer buen uso de las llaves: if (expr1) { if (expr2) accin 1 } // Notar que la llave no lleva punto y coma despus, si lo pusiramos CENTRO DE ESTUDIOS TECNOLGICOS industrial y de servicios N 4 Aquiles Serdn Alatriste Desarrolla software utilizando programacin estructurada. Prctica 4. Programando en C++ // habramos terminado la sentencia y el else se quedara suelto else // Este else corresponde al if de expr1 accin 3 La sentencia switch Esta sentencia nos permite seleccionar en funcin de condiciones mltiples. Su sintaxis es: switch (expresin) { case valor_1: sentencia 11; sentencia 12;
sentencia 1n; break; case valor_2: sentencia 21; sentencia 22;
sentencia 2m; break;
default: sentencia d1; sentencia d2;
sentencia dp } El parntesis en la expresin es obligatorio. El funcionamiento es el siguiente, si al evaluar la expresin se obtiene uno de los valores indicados por case valor_i se ejecutan todas las sentencias que encontremos hasta llegar a un break (o al cierre de las llaves). Si no se verifica ningn case pasamos a las sentencias default, si existe (default es opcional) y si no existe no hacemos nada. Indicaremos que si queremos hacer lo mismo para distintos valores podemos escribir los case seguidos sin poner break en ninguno de ellos y se ejecutar lo mismo para todos ellos. Ejemplo: void main() { int i; 26 cin >> i; switch (i) { case 0: CENTRO DE ESTUDIOS TECNOLGICOS industrial y de servicios N 4 Aquiles Serdn Alatriste Desarrolla software utilizando programacin estructurada. Prctica 4. Programando en C++ case 2: case 4: case 6: case 8: cout << " El nmero " << i << " es par\n"; break; case 1: case 3: case 5: case 7: case 9: cout << " El nmero " << i << " es impar\n"; break; default: cout << " El nmero " << i << " no est reconocido\n"; } } DESCRIPCIN DE LA PRCTICA. 1. Retomando la Actividad Cuando solo puedes tomar uno de dos caminos desarrolla en C++ el ejercicio 3, para ello puedes utilizar la estructura de seleccin If. 2. Adems haciendo uso de la sentencia SWITCH resuelve el siguiente problema: Desarrolla un programa que: a. Pida por teclado el resultado (dato entero) obtenido al lanzar un dado de seis caras. b. Muestre por pantalla el nmero en letras (dato cadena) de la cara opuesta al resultado obtenido. Nota 1: En las caras opuestas de un dado de seis caras estn los nmeros: 1-6, 2-5 y 3-4. Nota 2: Si el nmero del dado introducido es mayor que 6, se mostrar en pantalla el mensaje: "ERROR: Nmero incorrecto.". Mostrando en pantalla: