Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmia y Programación
CONTENIDO
Estructuras de Control
if-else
If-else anidados
Ejercicios
EISC
Universidad del Valle - Algoritmia y Programación Slide 2
ESTRUCTURAS DE CONTROL
La forma de tomar decisiones en un programa es a través
de las Estructuras de Control.
EISC
Universidad del Valle - Algoritmia y Programación Slide 3
ESTRUCTURAS DE CONTROL
La forma de tomar decisiones en un programa es a través
de las Estructuras de Control.
EISC
Universidad del Valle - Algoritmia y Programación Slide 4
ESTRUCTURAS DE CONTROL
Problema: Desarrollar un programa que solicite la edad de
una persona e indique si es mayor de edad o no
Entradas: ??
Salidas: ??
Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación Slide 5
ESTRUCTURAS DE CONTROL
Problema: Desarrollar un programa que solicite la edad de
una persona e indique si es mayor de edad o no
Entradas: edad
Salidas: ??
Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación Slide 6
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Entradas: edad
Salidas: impresión de mensaje de texto (anuncio)
Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación Slide 7
Conceptos preliminares
Impresión de
edad Proceso?
mensaje
EISC
Universidad del Valle - Algoritmia y Programación Slide 8
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Entradas: edad
Salidas: mensaje de texto
Proceso:
SI la edad es mayor o igual que 18
EISC
Universidad del Valle - Algoritmia y Programación Slide 9
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Entradas: edad
Salidas: mensaje de texto
Proceso:
SI la edad es mayor o igual que 18
Mostrar el mensaje “Usted es mayor de edad”.
EISC
Universidad del Valle - Algoritmia y Programación Slide 10
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Entradas: edad
Salidas: mensaje de texto
Proceso:
SI la edad es mayor o igual que 18
Mostrar el mensaje “Usted es mayor de edad”.
SI NO
EISC
Universidad del Valle - Algoritmia y Programación Slide 11
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Entradas: edad
Salidas: mensaje de texto
Proceso:
SI la edad es mayor o igual que 18
Mostrar el mensaje “Usted es mayor de edad”.
SINO
mostrar el mensaje “Usted es menor de edad”
FinSi
EISC
Universidad del Valle - Algoritmia y Programación Slide 12
Conceptos preliminares
Si edad > = 18
Imprimir usted es mayor de edad
edad Sino Impresión
Imprimir usted es menor de edad de mensaje
FinSi
EISC
Universidad del Valle - Algoritmia y Programación Slide 13
ESTRUCTURAS DE CONTROL
Problema: Desarrollar un programa que solicite la edad de
una persona e indique si es mayor de edad o no
Inicio
edad: entero
escribir “Digite su edad”
leer edad
???
Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 14
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Inicio
edad: entero Como expresar la
escribir “Digite su edad” condición “la edad es
leer edad mayor que 18” en
??
pseudocódigo??
Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 15
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Inicio
edad: entero
escribir “Digite su edad”
leer edad
SI edad >= 18
Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 16
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Inicio
edad: entero
escribir “Digite su edad”
leer edad
Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 17
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Inicio
edad: entero
escribir “Digite su edad”
leer edad
Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 18
ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Python que solicite la
edad de una persona e indique si es mayor de edad o no
Inicio
edad: entero
escribir “Digite su edad”
leer edad
pseudocódigo Python
SI edad >= 18
Escribir(“Usted es mayor de edad”) Estructura
SINO de Control
Escribir(“Usted es menor de edad”) if-else
FinSi
EISC
Universidad del Valle - Algoritmia y Programación Slide 20
ESTRUCTURA IF-ELSE
SINO
EISC
Universidad del Valle - Algoritmia y Programación Slide 21
EJERCICIO IF-ELSE
Pasando a Python…..
EISC
Universidad del Valle - Algoritmia y Programación Slide 22
ESTRUCTURA IF-ELSE
Pensando en Python
else:
EISC
Universidad del Valle - Algoritmia y Programación Slide 23
ESTRUCTURA IF-ELSE
La estructura de control if-else permite ejecutar una serie
de instrucciones sólo cuando se cumple una condición
establecida
Falso Verdadero
Condición
Instrucciones si Instrucciones si la
la condición es falsa Condición es verdadera
Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 24
ESTRUCTURA IF-ELSE
La estructura de control if-else permite ejecutar una serie
de instrucciones solo cuando se cumple una condición
establecida
if (condición):
else:
Instrucciones si la condición es falsa
opción operación
1 Suma
2 Resta
3 Multiplicación
4 División
EISC
Universidad del Valle - Algoritmia y Programación Slide 26
OPERADORES RELACIONALES
Actúan sobre valores enteros, reales y caracteres. Estos
operadores retorna un valor booleano.
EISC
Universidad del Valle - Algoritmia y Programación Slide 27
OPERADORES RELACIONALES
Ejercicio:
n es menor que 30
n es igual que 60
EISC
Universidad del Valle - Algoritmia y Programación Slide 28
OPERADORES RELACIONALES
Ejercicio:
n es menor que 30
n < 30
n es igual que 60
EISC
Universidad del Valle - Algoritmia y Programación Slide 29
OPERADORES RELACIONALES
Ejercicio:
n es menor que 30
n < 30
n es igual que 60
n==60
EISC
Universidad del Valle - Algoritmia y Programación Slide 30
OPERADORES LÓGICOS
Actúan sobre operadores o expresiones lógicas, como las
tablas de verdad.
Operador Descripción
Y (AND) Devuelve true si los dos operandos
son verdaderos
O (OR) Devuelve true si alguno de los dos
operandos es verdadero
EISC
Universidad del Valle - Algoritmia y Programación Slide 31
OPERADORES LÓGICOS
Ejercicio:
Exprese las siguientes condiciones en Python:
EISC
Universidad del Valle - Algoritmia y Programación Slide 32
OPERADORES LÓGICOS
Ejercicio:
Exprese las siguientes condiciones en Python:
EISC
Universidad del Valle - Algoritmia y Programación Slide 33
OPERADORES LÓGICOS
Ejercicio:
int n;
Exprese las siguientes condiciones en Python:
EISC
Universidad del Valle - Algoritmia y Programación Slide 34
OPERADORES LÓGICOS
Ejercicio:
int n;
Exprese las siguientes condiciones en Python:
EISC
Universidad del Valle - Algoritmia y Programación Slide 35
EJERCICIO ESTRUCTURA DE CONTROL
Problema: Se requiere de un programa que permita leer:
la cédula, salario básico y año de vinculación de un
empleado y que permita calcular su salario neto sabiendo
que:
Proceso:
??
cedula
cedula ahno, Proceso?
salarioNeto
salarioBasico
EISC
Universidad del Valle - Algoritmia y Programación Slide 37
EJERCICIO IF-ELSE
1. Análisis del problema
Proceso:
SI el salarioBasico es mayor que 1200000, y el ahno es mayor 1990
salarioNeto= salarioBasico - salarioBasico *0.08
SINO
SI el salarioBasico es menor que 550000, o el ahno es igual 1990
salarioNeto= salarioBasico - salarioBasico *0.02
SINO
salarioNeto= salarioBasico - salarioBasico *0.05
FinSi
Finsi
EISC
Universidad del Valle - Algoritmia y Programación Slide 38
Conceptos preliminares
EISC
Universidad del Valle - Algoritmia y Programación Slide 39
EJERCICIO IF-ELSE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
cedula, ahno: entero
salarioBasico, salarioNeto: real
Escribir “Digite la cédula”
Leer cedula
Escribir “Digite Año”
Leer anho
Escribir “Digite el salario Básico”
Leer salarioBasico
???
Escribir(cedula)
Escribir(salarioNeto)
EISC
fin
Universidad del Valle - Algoritmia y Programación Slide 40
EJERCICIO IF-ELSE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
cedula, ahno: entero
salarioBasico, salarioNeto: real
Escribir “Digite la cédula”
Leer cedula
Escribir “Digite Año”
Leer anho
Escribir “Digite el salario Básico”
Leer salarioBasico
fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 41
EJERCICIO IF-ELSE
3. Realizar una prueba de escritorio para el algoritmo
EISC
Universidad del Valle - Algoritmia y Programación Slide 42
EJERCICIO IF-ELSE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
cedula, ahno: entero
salarioBasico, salarioNeto: real
Escribir “Digite la cédula”
Leer cedula
Escribir “Digite Año”
Leer anho
Escribir “Digite el salario Básico”
Leer salarioBasico
EISC
fin
Universidad del Valle - Algoritmia y Programación Slide 43
EJERCICIO IF-ELSE
4. Codificar el algoritmo usando algún lenguaje de programación
pseudocódigo
SI (salarioBasico > 1200000) Y (ahno>1990)
salarioNeto= salarioBasico - salarioBasico *0.08
SINO
SI (salarioBasico < 550000) O (ahno==1990)
salarioNeto= salarioBasico - salarioBasico *0.02
SINO
salarioNeto= salarioBasico - salarioBasico *0.05
FinSi
FinSI
Código Python
EISC
Universidad del Valle - Algoritmia y Programación Slide 44
EJERCICIO IF-ELSE
4. Codificar el algoritmo usando algún lenguaje de programación
pseudocódigo
SI (salarioBasico > 1200000) Y (ahno>1990)
salarioNeto= salarioBasico - salarioBasico *0.08
SINO
SI (salarioBasico < 550000) O (ahno==1990)
salarioNeto= salarioBasico - salarioBasico *0.02
SINO
salarioNeto= salarioBasico - salarioBasico *0.05
FinSI
FinSI
Código Python
if ((salarioBasico > 1200000) and (ahno>1990)):
salarioNeto= salarioBasico - salarioBasico*0.08
else:
if((salarioBasico < 550000) or (ahno==1990)):
salarioNeto= salarioBasico - salarioBasico*0.02
else:
salarioNeto= salarioBasico - salarioBasico*0.05
EISC
Universidad del Valle - Algoritmia y Programación Slide 45
EJERCICIO IF-ELSE
4. Codificar el algoritmo usando algún lenguaje de programación
else:
if((salarioBasico < 550000) or (ahno==1990)):
salarioNeto= salarioBasico - salarioBasico*0.02
else:
salarioNeto= salarioBasico - salarioBasico*0.05
EISC
Universidad del Valle - Algoritmia y Programación Slide 46
EJERCICIO IF-ELSE
4. Codificar el algoritmo usando algún lenguaje de programación
EISC
Universidad del Valle - Algoritmia y Programación Slide 47
Más estructuras de control….
EISC
Universidad del Valle - Algoritmia y Programación Slide 48
IF-ELSE ANIDADOS
Permite manejar varias opciones de forma sencilla,
resumiendo cuando se tengan varios if-else anidados
EISC
Universidad del Valle - Algoritmia y Programación Slide 49
IF-ELSE ANIDADOS
Permite manejar varias opciones de forma sencilla, permitiendo
resumir cuando se tengan varios if-else anidados
n= int (input (“Digite un número entero”))
if ( n == 1):
#instrucciones
elif n==2:
#instrucciones
elif n==3:
#instrucciones
elif n==4:
#instrucciones
elif n==5:
#instrucciones
else:
# si no es ninguna de las anteriores
EISC
Universidad del Valle - Algoritmia y Programación Slide 50
IF-ELSE ANIDADOS
Problema: Desarrollar una aplicación en Python que reciba
un entero correspondiente a una categoría y el total de
ventas de un empleado y retorne la comisión que recibe.
categoría Comisión
1 10%
2 20%
3 35%
4 45%
5 50%
6 60%
EISC
Universidad del Valle - Algoritmia y Programación Slide 51
IF-ELSE ANIDADOS
1. Análisis del problema
Entradas: ??
Salidas: ??
Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación Slide 52
IF-ELSE ANIDADOS
1. Análisis del problema
EISC
Universidad del Valle - Algoritmia y Programación Slide 53
IF-ELSE ANIDADOS
1. Análisis del problema
si categoria == 1
EISC
Universidad del Valle - Algoritmia y Programación Slide 54
IF-ELSE ANIDADOS
1. Análisis del problema
EISC
Universidad del Valle - Algoritmia y Programación Slide 55
IF-ELSE ANIDADOS
1. Análisis del problema
EISC
Universidad del Valle - Algoritmia y Programación Slide 56
IF-ELSE ANIDADOS
1. Análisis del problema
???
Escribir(comision)
fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 58
IF-ELSE ANIDADOS
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
categoria: entero
ventas, comision: real
Escribir “Categoría : ”
leer categoria
Escribir “Valor de Ventas :”
leer ventas
Si categoria == 1: comision = ventas * 0.1
sino_si categoria == 2: comision = ventas * 0.2
sino_si categoria == 3: comision = ventas * 0.35
sino_si categoria == 4: comision = ventas * 0.45
sino_si categoria == 5: comision = ventas * 0.5
sino_si categoria == 6: comision = ventas * 0.6
sino: imprimir(“categoría inexistente”)
Escribir(comision)
Finsi
EISC
fin
Universidad del Valle - Algoritmia y Programación Slide 59
IF-ELSE ANIDADOS
4. Codificar el algoritmo usando algún lenguaje de
programación
EISC
Universidad del Valle - Algoritmia y Programación Slide 60
IF-ELSE ANIDADOS
EISC
Universidad del Valle - Algoritmia y Programación Slide 61
EJERCICIO
Problema: Emcali requiere recalcular la factura de energía
de los consumidores. Para ello, se necesita de un programa
que lea el estrato social y el valor de consumo del cliente, y
determine el valor básico a adicionar para establecer el
nuevo valor de la factura.
EISC
Universidad del Valle - Algoritmia y Programación Slide 62
EJERCICIO IF-ELSE ANIDADOS
1. Análisis del problema
Proceso:
??
EISC
Universidad del Valle - Algoritmia y Programación Slide 63
EJERCICIO IF-ELSE ANIDADOS
1. Análisis del problema
Proceso:
Si estrato es 1, valorFactura = consumo + 500
Si estrato es 2, valorFactura = consumo + 700
Si estrato es 3, valorFactura = consumo + 4800
Si estrato es 4, valorFactura = consumo + 5700
EISC
Universidad del Valle - Algoritmia y Programación Slide 64
EJERCICIO IF-ELSE ANIDADOS
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
estrato: entero
consumo, valorFactura: real
Escribir “Estrato : ”
Leer estrato
Escribir “Consumo : ”
Leer consumo
??
Escribir(valorFactura)
fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 65
EJERCICIO IF-ELSE ANIDADOS
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
estrato: entero
consumo, valorFactura: real
Escribir “Estrato : ”
Leer estrato
Escribir “Consumo : ”
Leer consumo