You are on page 1of 8

Fundamentos de Computacin y

Programacin

Universidad de Santiago de Chile

CLASE 4
DECISIONES EN PYTHON

EJERCICIO PROPUESTO
Un profesor de Fundamentos de Computacin
Programacin necesita determinar la situacin 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 aprobacin del reglamento
complementario de la Facultad de Ingeniera, en grupos de
3, escriban un algoritmo en lenguaje natural para
determinar la situacin de un estudiante antes de PA
2

Fundamentos de Computacin y
Programacin

Universidad de Santiago de Chile

INTRODUCCIN
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, lo


que le entrega instrucciones que Python realizar
Sin embargo, hemos visto slo programas que siguen
una ejecucin secuencial en el bloque principal
Es decir, se ejecutan las secuencias paso a paso, a
travs de un camino nico

Secuencia 2

Secuencia 3

INTRODUCCIN
Pero, qu sucede si no siempre queremos
ejecutar una sentencia?

Y si queremos que el programa pueda


elegir entre dos caminos?
Para ello, hoy aprenderemos a realizar
programas con capacidad de decisin

Fundamentos de Computacin y
Programacin

Universidad de Santiago de Chile

OBJETIVOS
Conocer los operadores de comparacin

Usar expresiones booleanas para responder preguntas


simples
Crear expresiones booleanas complejas
Utilizar las sentencias if e if-else para condicionar la
ejecucin de bloques de sentencias
5

VALORES BOOLEANOS
Al realizar una comparacin, Python entrega como
resultado los valores True o False
Estos valores son denominados booleanos
Representan el resultado de una evaluacin lgica
Son a un tipo de dato nativo en Python
No hay ms posibilidades: verdadero o falso

Las expresiones que devuelven valores lgicos se


denominan expresiones booleanas
6

Fundamentos de Computacin y
Programacin

Universidad de Santiago de Chile

EXPRESIONES BOOLEANAS
Python maneja varios operadores de comparacin:
Mayor

>

4.3 > 3.2

Mayor o igual

>=

4.0 >= 4.1

Menor

<

-2 < 0

Menor o igual

<=

-3.14 <= -3.2

Igual

==

2.0 == 2

Distinto

!=

-2 != -2.1
7

EXPRESIONES BOOLEANAS
Existen adems operadores para componer expresiones
booleanas:
La conjuncin o y lgico (and), que resulta verdadero si y solo si
todas las sub-expresiones son verdaderas
x > y and y <= z
La disyuncin u o lgico (or), que resulta verdadero si al menos
una de las sub-expresiones lo es
x != y or x <= z or y < z
8

Fundamentos de Computacin y
Programacin

Universidad de Santiago de Chile

EXPRESIONES BOOLEANAS
Finalmente existe el operador negacin (not) para invertir el valor
de verdad
not 50 > 4

not True

not -40.4 >= 44.5

False

not False

True

EXPRESIONES BOOLEANAS
Los operadores booleanos tambin tienen reglas de
precedencia
Operadores de comparacin tienen menor precedencia que los
operadores aritmticos
Luego tiene precedencia el operador de negacin (not), luego las
conjunciones (and) y finalmente las disyunciones (or)

Podemos alterar esta precedencia usando parntesis


10

Fundamentos de Computacin y
Programacin

Universidad de Santiago de Chile

SENTENCIA IF
Permite condicionar la ejecucin de un bloque de
sentencias al cumplimiento de una condicin
La condicin es una expresin booleana
Sintaxis:
if <condicin>:
<Bloque de sentencias condicionales>
<Bloque de sentencias que sigue>

El fin del bloque condicionado se marca con un retroceso en la


indentacin
11

SENTENCIA IF
Como diagrama:
El flujo de ejecucin (como que
fuera flujo de agua en tuberas)
pasa de largo si la condicin no se
cumple
Pero pasa por el cuerpo de la
sentencia if si la condicin resulta
con valor verdadero

12

Fundamentos de Computacin y
Programacin

Universidad de Santiago de Chile

SENTENCIA IF - ELSE
Permite condicionar la ejecucin de dos bloques de
sentencias al cumplimiento de una condicin
Sintaxis:

if <condicin>:
# Se ejecuta si la condicin se cumple
<Bloque de sentencias condicionales>
else:
# Se ejecuta si la condicin no se cumple
<Bloque de sentencias alternativo>
<Bloque de sentencias que sigue>
13

SENTENCIA IF - ELSE
Como diagrama:
El flujo de ejecucin pasa por el bloque condicional si la condicin
se cumple
Pero si no se cumple, el flujo pasa por el bloque alternativo

14

Fundamentos de Computacin y
Programacin

Universidad de Santiago de Chile

CONSULTAS?

You might also like