08. Decisiones.pdf
Document Details
Uploaded by Deleted User
Tags
Full Transcript
Decisiones Decisiones La ejecución de sentencias en un programa por defecto es secuencial. Pero a veces hay situaciones en las que el enunciado del problema y la lógica del programa exigen que la ejecución o el flujo del programa se dirija o se bifurque hacia un conjunto particular de enunciado...
Decisiones Decisiones La ejecución de sentencias en un programa por defecto es secuencial. Pero a veces hay situaciones en las que el enunciado del problema y la lógica del programa exigen que la ejecución o el flujo del programa se dirija o se bifurque hacia un conjunto particular de enunciados en lugar del otro. Ejemplo: Encontrar el mayor de 2 números dados. Este tipo de situación implica la toma de decisiones. C++ ofrece las siguientes estructuras de control de decisiones: 1. if 2. if-else 3. operador condicional 4. switch Estructura de control de decisiones - if La declaración if: La sintaxis de la declaración es la siguiente: if (expresión es verdadera) ejecutar declaración Estructura de control de decisiones - if Aquí, if es una palabra clave. Le dice al compilador que lo que sigue es una estructura de control de decisiones. Una instrucción if siempre va seguida de una expresión o condición encerrada entre un par de paréntesis. La expresión se evalúa y será verdadera o falsa. Si es verdadero, se ejecuta la instrucción que sigue a la instrucción if; si es falso, esta instrucción se omite y la ejecución continúa desde la siguiente instrucción. Todo valor distinto de cero se considerará verdadero, ya sea positivo o negativo. La expresión o condición suele ser una combinación de variables o constantes y operadores. Ejemplos de expresiones utilizadas en la instrucción if: (a>b) // combinación de variables y operador relacional (xB A is mayor que B A 5 ? 1 : 0); Estructura de control de decisiones – Operador Condicional En el ejemplo anterior, la primera línea lee una declaración de asignación donde a la variable a se le asigna el valor 3. La segunda línea usa un operador condicional. Ella, si el valor de a es mayor que 5, entonces a b se le asigna un valor de 1, de lo contrario, un valor de cero. Con la declaración if-else, el ejemplo anterior podría escribirse como: int a =3; int b; if (a > 5) b = 1; else b = 0; Estructura de control de decisiones – Operador Condicional Los operadores condicionales no necesitan limitarse únicamente a expresiones aritméticas. También se puede utilizar de la siguiente manera: char genero; cout > genero; (genero == ‘m’ ? cout c ? a : c) : ( b > c ? b : c ) ); La única limitación del operador condicional es que permite que solo se ejecute una instrucción después de ? Estructura de control de decisiones – Operador Condicional Ejemplo: El punto y coma se usa solo una vez con operadores condicionales al final de la declaración. Estructura de control de decisiones – declaración switch Usamos sentencias if para elegir una entre las alternativas disponibles. A medida que aumenta el número de alternativas, la complejidad a implementar también aumenta. C ++ tiene una declaración de decisión de múltiples vías llamada switch. Los posibles valores de expresión/condición están representados por mayúsculas y minúsculas. Una declaración de cambio puede tener múltiples casos que representan múltiples decisiones a tomar. La palabra clave break se usa dentro de cada caso de declaración de cambio para salir de la declaración una vez que el caso coincide y se ejecuta. Estructura de control de decisiones – declaración switch La sintaxis de una sentencia switch es la siguiente: Estructura de control de decisiones – declaración switch La expresión entera es cualquier expresión que se evaluará para dar un valor entero. La palabra clave case va seguida de un entero o una constante de carácter que puede representar el valor de la expresión entera. Cada carácter constante o entero debe ser único. Cada case contiene un conjunto de sentencias C++ válidas. La palabra clave break es la última instrucción dentro de cada caso y obliga a la ejecución a salir de la instrucción switch. Sin interrupción, se dice que la ejecución cae a través de los case, es decir, si no hay interrupción, la ejecución continúa con el siguiente case, incluso si no se supone que se ejecute. Estructura de control de decisiones – declaración switch Cuando se ejecuta un programa que contiene una sentencia switch, la expresión entera que sigue a la palabra clave switch se evalúa primero. Luego, este valor se compara uno por uno con los valores constantes que siguen a la palabra clave case. Si se encuentra una coincidencia, se ejecutan las sentencias que siguen al case. Si no se encuentra ninguna coincidencia, se ejecutan las declaraciones en el caso predeterminado. Ejemplo: considere el siguiente programa que muestra un mensaje específico según la entrada proporcionada por el usuario. Estructura de control de decisiones – declaración switch Salida del programa.