Fundamentos de Computación y

Programación

Universidad de Santiago de Chile

CLASE 4
DECISIONES EN PYTHON

EJERCICIO PROPUESTO
Un profesor de Fundamentos de Computación
Programación necesita determinar la situación de sus
estudiantes antes de la Prueba Acumulativa (PA), para ello
posee las tres calificaciones del promedio: PEP 1, PEP 2 y
Promedio de notas parciales (PNP)
Dadas las reglas de aprobación del reglamento
complementario de la Facultad de Ingeniería, en grupos de
3, escriban un algoritmo en lenguaje natural para
determinar la situación de un estudiante antes de PA
2

1

se ejecutan las secuencias paso a paso. ¿qué sucede si no siempre queremos ejecutar una sentencia? ¿Y si queremos que el programa pueda elegir entre dos caminos? Para ello. a través de un camino único Secuencia 2 Secuencia 3 3 INTRODUCCIÓN Pero. hoy aprenderemos a realizar programas con capacidad de decisión 4 2 . lo que le entrega instrucciones que Python realizará Sin embargo.Fundamentos de Computación y Programación Universidad de Santiago de Chile INTRODUCCIÓN Los programas tienen una estructura bien definida y se escriben para obtener una salida que permite resolver un problema del mundo real Secuencia 1 Podemos definir variables y generar expresiones. hemos visto sólo programas que siguen una ejecución secuencial en el bloque principal Es decir.

Python entrega como resultado los valores True o False Estos valores son denominados booleanos Representan el resultado de una evaluación lógica Son a un tipo de dato nativo en Python No hay más posibilidades: verdadero o falso Las expresiones que devuelven valores lógicos se denominan expresiones booleanas 6 3 .Fundamentos de Computación y Programación Universidad de Santiago de Chile OBJETIVOS Conocer los operadores de comparación Usar expresiones booleanas para responder preguntas simples Crear expresiones booleanas complejas Utilizar las sentencias if e if-else para condicionar la ejecución de bloques de sentencias 5 VALORES BOOLEANOS Al realizar una comparación.

3 > 3.0 >= 4.0 == 2 Distinto != -2 != -2.1 Menor < -2 < 0 Menor o igual <= -3.2 Igual == 2.Fundamentos de Computación y Programación Universidad de Santiago de Chile EXPRESIONES BOOLEANAS Python maneja varios operadores de comparación: Mayor > 4.14 <= -3.1 7 EXPRESIONES BOOLEANAS Existen además operadores para componer expresiones booleanas: La conjunción o “y lógico” (and). que resulta verdadero si y solo si todas las sub-expresiones son verdaderas x > y and y <= z La disyunción u “o lógico” (or). que resulta verdadero si al menos una de las sub-expresiones lo es x != y or x <= z or y < z 8 4 .2 Mayor o igual >= 4.

4 >= 44.Fundamentos de Computación y Programación Universidad de Santiago de Chile EXPRESIONES BOOLEANAS Finalmente existe el operador negación (not) para invertir el valor de verdad not 50 > 4 not True not -40.5 False not False True 9 EXPRESIONES BOOLEANAS Los operadores booleanos también tienen reglas de precedencia Operadores de comparación tienen menor precedencia que los operadores aritméticos Luego tiene precedencia el operador de negación (not). luego las conjunciones (and) y finalmente las disyunciones (or) Podemos alterar esta precedencia usando paréntesis 10 5 .

Fundamentos de Computación y Programación Universidad de Santiago de Chile SENTENCIA IF Permite condicionar la ejecución de un bloque de sentencias al cumplimiento de una condición La condición es una expresión booleana Sintaxis: if <condición>: <Bloque de sentencias condicionales> <Bloque de sentencias que sigue> El fin del bloque condicionado se marca con un retroceso en la indentación 11 SENTENCIA IF Como diagrama: El flujo de ejecución (como que fuera flujo de agua en tuberías) pasa de largo si la condición no se cumple Pero pasa por el cuerpo de la sentencia if si la condición resulta con valor verdadero 12 6 .

Fundamentos de Computación y Programación Universidad de Santiago de Chile SENTENCIA IF .ELSE Como diagrama: El flujo de ejecución pasa por el bloque condicional si la condición se cumple Pero si no se cumple.ELSE Permite condicionar la ejecución de dos bloques de sentencias al cumplimiento de una condición Sintaxis: if <condición>: # Se ejecuta si la condición se cumple <Bloque de sentencias condicionales> else: # Se ejecuta si la condición no se cumple <Bloque de sentencias alternativo> <Bloque de sentencias que sigue> 13 SENTENCIA IF . el flujo pasa por el bloque alternativo 14 7 .

Fundamentos de Computación y Programación Universidad de Santiago de Chile ¿CONSULTAS? 8 .