clase 04 fcyp_2_2015

8
Fundamentos de Computación y Programación Universidad de Santiago de Chile 1 CLASE 4 DECISIONES EN PYTHON 2 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

Upload: ivana-korze

Post on 12-Jul-2016

212 views

Category:

Documents


0 download

DESCRIPTION

python

TRANSCRIPT

Page 1: Clase 04 FCYP_2_2015

Fundamentos de Computación y Programación

Universidad de Santiago de Chile

1

CLASE 4

DECISIONES EN PYTHON

2

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

Page 2: Clase 04 FCYP_2_2015

Fundamentos de Computación y Programación

Universidad de Santiago de Chile

2

3

� Los programas tienen una estructura bien definida y se escriben para obtener una salida que permite resolver un problema del mundo real

� Podemos definir variables y generar expresiones, lo que le entrega instrucciones que Python realizará

� Sin embargo, hemos visto sólo programas que siguen una ejecución secuencial en el bloque principal

� Es decir, se ejecutan las secuencias paso a paso, a través de un camino único

INTRODUCCIÓN

Secuencia 1

Secuencia 2

Secuencia 3

4

INTRODUCCIÓN

� 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 decisión

Page 3: Clase 04 FCYP_2_2015

Fundamentos de Computación y Programación

Universidad de Santiago de Chile

3

5

� 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

OBJETIVOS

6

� Al realizar una comparación, 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

VALORES BOOLEANOS

Page 4: Clase 04 FCYP_2_2015

Fundamentos de Computación y Programación

Universidad de Santiago de Chile

4

7

� Python maneja varios operadores de comparación:

EXPRESIONES BOOLEANAS

� 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

8

� 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

EXPRESIONES BOOLEANAS

Page 5: Clase 04 FCYP_2_2015

Fundamentos de Computación y Programación

Universidad de Santiago de Chile

5

9

� Finalmente existe el operador negación (not) para invertir el valor de verdad

� not 50 > 4 o not True o False

� not -40.4 >= 44.5 o not False o True

EXPRESIONES BOOLEANAS

10

� 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

EXPRESIONES BOOLEANAS

Page 6: Clase 04 FCYP_2_2015

Fundamentos de Computación y Programación

Universidad de Santiago de Chile

6

11

� 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:

� El fin del bloque condicionado se marca con un retroceso en la indentación

SENTENCIA IF

if <condición>:<Bloque de sentencias condicionales>

<Bloque de sentencias que sigue>

12

� 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

SENTENCIA IF

Page 7: Clase 04 FCYP_2_2015

Fundamentos de Computación y Programación

Universidad de Santiago de Chile

7

13

� Permite condicionar la ejecución de dos bloques de sentencias al cumplimiento de una condición

� Sintaxis:

SENTENCIA IF - ELSE

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>

14

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, el flujo pasa por el bloque alternativo

Page 8: Clase 04 FCYP_2_2015

Fundamentos de Computación y Programación

Universidad de Santiago de Chile

8

¿CONSULTAS?