Está en la página 1de 27

Estructuras de Decisión

o de Selección
Objetivos
q Definir la estructura de
flujo de control conocida
como selección o decisión.
q Enumerar y describir la
sintaxis y semántica de las
tres variantes de
estructuras de flujo de
control de selección.

45
Objetivos
q Representar, mediante el
uso de un flujograma, cada
una de las tres variantes de
la estructura de flujo de
control de selección.
q Dado un problema, saber
seleccionar y codificar de
entre las tres variantes de
estructuras de flujo de
control de selección.

46
Estructuras de Flujo de Control
1. Secuencia (default)
2. Selección o Decisión (Condicional)
q Oraciones if, if else, if elif else
3. Repetición (Ciclos, Loops, Bucles)
q Oraciones while y for
4. Subprograma
q Funciones (def)

47
Definiciones
 Estructura de Selección o Decisión
– Una de las estructuras básicas de
flujo de control de un programa que
permite, durante la ejecución de un
programa, tomar una decisión y
modificar su flujo de control basado
en esta decisión.
 Bloque de oraciones
– Conjunto de una o más oraciones
de Python.
– Se identifican por su sangrado
(indentation).

48
Variantes de Selección o Decisión
1. Alternativa Sencilla
q Single alternative/One-way branch
q Oración if

2. Alternativa Doble
q Dual alternative/Two-way branch
q Oración if else

3. Alternativas Múltiples
q Multiple alternatives/Multiple branches
q Oración if elif else

49
La Oración if (alternativa sencilla)
q Problema: Una persona puede votar si
tiene por lo menos 18 años.

edad = int (input (“\tIngrese su edad: ” ) )


if edad >= 18 :
print (“Puede votar.”)
print (“Recuerde registrarse.”)

NOTE sangrado Bloque de


después de : Oraciones

50
La Oración if (alternativa sencilla)
q Problema: Una persona aprueba un
curso si obtiene por lo menos una
puntuación de 70 de 100.

puntos = float (input (“\tPuntuación:”) )


if puntos >= 70.0 :
print (“Curso aprobado.”)
nota = “PASS”

NOTE sangrado Bloque de


después de : Oraciones

51
La Oración if (alternativa sencilla)
q Problema: Queremos determinar si un
número entero es par. El número será
par si el residuo al dividir entre 2 es
igual a cero.

n = int (input (“\tIngrese un entero: ”) )

if n % 2 == 0 :
print (n, “es un número par.”)

NOTE sangrado
después de :

52
La Oración if (alternativa sencilla)
q Problema: Queremos identificar un
password del usuario.
passw = input (“\tIngrese su password: ”)
if passw == “Python2020” :
print (“\tPassword correcto.”)
print (“\tBienvenida a la clase.”)

NOTE sangrado
después de :

53
La oración if Palabra reservada
q Sintaxis: Claúsula if
if condición (EB) :
NOTE sangrado Bloque
después de : Bloque de oraciones

q Componentes de la claúsula if
1. Palabra reservada if
2. Condición (Expresión Lógica o Booleana)
3. Dos puntos (signo de puntuación)

54
La oración if (alternativa sencilla)
q Semántica
1. Se evalúa la condición o
Expresión Booleana (EB).
2. Si la EB es cierta, se
ejecuta el bloque de
oraciones y se continua
con la oración después
del bloque.
3. Si la EB es falsa, NO se
ejecuta el bloque de
oraciones y se continua
con la oración después
del bloque.

55
La oración if (alternativa sencilla)
q Recomendaciones: Asegúrese de que:
 La condición de la oración de selección
esté correcta.
 Al final de la claúsula if se incluyen los
dos puntos (:).
 Las oraciones del bloque de la claúsula
if estén alineadas.

56
La Oración if else (alternativa dual)
q Problema: Una persona puede votar si
tiene por lo menos 18 años.

edad = int (input (“\tIngrese su edad: ” ) )


if edad >= 18 : NOTE dos puntos :
print (“Puede votar.”)
print (“Recuerde registrarse.”)
else : NOTE dos puntos :
print (“NO puede votar.”)

57
La Oración if else (alternativa dual)
q Problema: Una persona puede votar si
tiene por lo menos 18 años.

edad = int (input (“\tIngrese su edad: ” ) )


if edad < 18 : NOTE dos puntos :
print (“No puede votar.”)
else : NOTE dos puntos :
print (“Puede votar.”)
print (“Recuerde registrarse.”)

58
La Oración if else usando if
q Problema: Una persona puede votar si
tiene por lo menos 18 años.

edad = int (input (“\tIngrese su edad: ” ) )


if edad >= 18 :
print (“Puede votar.”)
print (“Recuerde registrarse.”)

if edad < 18 :
print (“NO puede votar.”)

59
La Oración if else (alternativa dual)
q Problema: Una persona aprueba un
curso si obtiene por lo menos una
puntuación de 70 de 100.
puntos = float (input (“\tPuntuación: ”) )
if puntos >= 70.0 :
print (“Curso aprobado.”)
nota = “PASS”
else :
print (“Curso NO aprobado.”)
nota = “FAIL”

60
La Oración if else (alternativa dual)
q Problema: Una persona aprueba un
curso si obtiene por lo menos una
puntuación de 70 de 100.
puntos = float (input (“\tPuntuación: ”) )
if puntos < 70.0 :
print (“Curso NO aprobado.”)
nota = “FAIL”
else :
print (“Curso aprobado.”)
nota = “PASS”

61
La Oración if else usando if
q Problema: Una persona aprueba un
curso si obtiene por lo menos una
puntuación de 70 de 100.
puntos = float (input (“\tPuntuación: ”) )
if puntos >= 70.0 :
print (“Curso aprobado.”)
nota = “PASS”

if puntos < 70.0 :


print (“Curso NO aprobado.”)
nota = “FAIL”

62
La Oración if else
q Problema: Queremos determinar si un
número entero es par. El número será
par si el residuo al dividir el número
entre 2 es igual a cero.
n = int (input (“\tIngrese un entero: ”) )
if n % 2 == 0 :
print (n, “es un número par.”)
else :
print (n, “es un número impar.”)

63
La Oración if else
q Problema: Queremos determinar si un
número entero es par. El número será
par si el residuo al dividir el número
entre 2 es igual a cero.
n = int (input (“\tIngrese un entero: ”) )
if n % 2 != 0 :
print (n, “es un número impar.”)
else :
print (n, “es un número par.”)

64
La Oración if else usando if
q Problema: Queremos determinar si un
número entero es par. El número será
par si el residuo al dividir entre 2 es
igual a cero.
n = int (input (“\tIngrese un entero: ”) )
if n % 2 == 0 :
print (n, “es un número par.”)
if n % 2 != 0 :
print (n, “es un número impar.”)

65
La Oración if else
q Problema: Queremos identificar un
password del usuario.
passw = input (“\tIngrese su password: ”)
if passw == “Python2020” :
print (“\tPassword correcto.”)
print (“\tBienvenida a la clase.”)
else :
print (“\tPassword incorrecto.”)
print (“\tProhibida la entrada.”)

66
La Oración if else usando if
q Problema: Queremos identificar un
password del usuario.
passw = input (“\tIngrese su password: ”)
if passw == “Python2020” :
print (“\tPassword correcto.”)
print (“\tBienvenida a la clase.”)
if passw != “Python” :
print (“\tPassword incorrecto.”)
print (“\tProhibida la entrada.”)

67
La oración if else (alternativa dual)
q Sintaxis: Claúsula if

if condición (EB) :
Palabras Bloque de la claúsula if
Reservadas
Bloque 1

else : Claúsula else

Bloque 2 Bloque de la claúsula else

NOTE: Los dos puntos al final de la claúsula if


y de la claúsula else fuerzan el sangrado de
cada uno de los dos bloques de oraciones.
68
La oración if else (alternativa dual)
q Semántica
1. Se evalúa la condición o
Expresión Booleana (EB)
2. Si la EB es cierta, se
ejecuta el bloque de
oraciones de la
izquierda y se continua
con la oración después
del else.
3. Si la EB es falsa, se
ejecuta el bloque de
oraciones de la derecha
y se continua con la
NOTE: Solo se ejecuta EXACTAMENTE
oración después del
una las dos opciones (bloques).
else.
69
La oración if else (alternativa dual)
q Recomendaciones: Asegúrese de que:
 La condición de la oración de selección
esté correcta.
 Al final de la claúsula if y de la claúsula
else se incluyen los dos puntos (:).
 La claúsula if y la claúsula else estén
alineadas.
 Las oraciones del bloque de la claúsula
if y las oraciones del bloque de la
claúsula else estén alineadas.

70

También podría gustarte