08/09/15 Ing. Roberto Mar;nez Román -­‐ [email protected] TOMANDO DECISIONES La instrucción if Las estructuras de control ¨ Las estructuras de control se uDlizan para definir la secuencia de ejecución de las instrucciones. Hay 3 estructuras: ¤ Secuencia. Hacer una instrucción después de la otra. ¤ Selección. Ejecutar o no instrucciones dependiendo de si se cumple o no una condición. ¤ Iteración (ciclos). Ejecutar de manera repeDDva instrucciones. Ing. Roberto Mar;nez Román -­‐ [email protected] 1 08/09/15 Selección simple ¨ Esta estructura permite ejecutar o no, un conjunto de instrucciones dependiendo del resultado de una condición. Condición Instrucciones Ing. Roberto Mar;nez Román -­‐ [email protected] Selección simple en Python Esta estructura ejecuta las instrucciones SOLO cuando la condición evaluada es cierta. ¨ La sintaxis es: if condición : Verdadero instrucciones Falso ¨ Ing. Roberto Mar;nez Román -­‐ [email protected] 2 08/09/15 Selección doble ¨ Esta estructura permite ejecutar uno de dos caminos dependiendo del resultado de una condición. Condición Instrucciones Instrucciones Ing. Roberto Mar;nez Román -­‐ [email protected] Selección doble en Python Esta estructura permite ejecutar un conjunto de instrucciones cuando la condición evaluada es cierta y otro conjunto cuando es falsa. ¨ La sintaxis es: ¨ if condición : instrucciones_A Falso Verdadero else : instrucciones_B Ing. Roberto Mar;nez Román -­‐ [email protected] 3 08/09/15 Operadores relacionales Operador Significado < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que == Igual a != Diferente de Ing. Roberto Mar;nez Román -­‐ [email protected] Operadores lógicos Operador Significado and or not Y lógico, conjunción O lógico, disyunción NO lógico, negación Ing. Roberto Mar;nez Román -­‐ [email protected] 4 08/09/15 Tablas de verdad a b a and b a or b not a False True True True True True False False True False True False True False False False False True Ing. Roberto Mar;nez Román -­‐ [email protected] Ejemplos 54 > 2 2*3 < 5+1 "ABC" > "AbC" 3-­‐2 == 5/5 2 > 2 23%5 != 13%5 a>=70 and a<=100 a<70 and a>=0 5>7 or 7!=10 not (x < 18) x>=18 Ing. Roberto Mar;nez Román -­‐ [email protected] 5 08/09/15 Ejercicios con if Escribe un programa que lee dos números enteros e imprime el mayor. ¨ Escribe un programa que lee tres números enteros e imprime el mayor. ¨ Escribe un programa que lee cuatro números enteros e imprime el mayor. ¨ Ing. Roberto Mar;nez Román -­‐ [email protected] Ejercicios con if ¨ ¨ Escribe una función que recibe un valor entero y regresa True si es par, False en otro caso. Escribe una función que resuelve la ecuación de segundo grado. Si hay raíces reales las calcula y las imprime; si no, indica con un mensaje que las raíces son imaginarias. La función recibe los tres coeficientes como parámetros. Ing. Roberto Mar;nez Román -­‐ [email protected] 6 08/09/15 If's anidados ¨ Esto ocurre cuando nuestra lógica necesita que haya una estructura if dentro de un if o un else. Ing. Roberto Mar;nez Román -­‐ [email protected] Ejercicio ¨ Codifica en Python la siguiente estructura. condA condB condC InstrucA condE condD InstrucB InstrucC InstrucE InstrucD Ing. Roberto Mar;nez Román -­‐ [email protected] 7 08/09/15 Tipos de if Doble Simple if condición : Instrucciones else : Instrucciones if condición : Instrucciones Ing. Roberto Mar;nez Román -­‐ [email protected] Tipos de if Múl;ple if condicionA : Instrucciones elif condicionB : Instrucciones elif condicionC : Instrucciones elif condicionD : Instrucciones else : Instrucciones Ing. Roberto Mar;nez Román -­‐ [email protected] 8 08/09/15 Ejercicio ¨ Escribe un programa que pide el número de día (1-­‐7) e imprime el nombre del día de la semana. Ing. Roberto Mar;nez Román -­‐ [email protected] Práctica en parejas ¨ Venta de canciones. ¤ ¤ Una compañía vende canciones a $12.50, se aplica un descuento de acuerdo al número de canciones descargadas por sesión. Escribe un programa que pregunta el número de canciones descargadas y calcula e imprime la canDdad a pagar. Si el usuario teclea un valor negaDvo, el programa imprime un mensaje de error y termina. Can;dad Descuento 1-­‐5 10% 6 -­‐ 10 18% 11 – 20 38% Más de 20 50% ¿Qué sale más barato, comprar 20 canciones o comprar 22?, el programa debe calcular e imprimir la respuesta. Ing. Roberto Mar;nez Román -­‐ [email protected] 9