Programa de Especialización en
Programación en Python
1. Algoritmos y Programas
Dr. Cristian López Del Alamo
clopezd@[Link]
2023
1
Agenda
1. Definición
2. Entradas
3. Salidas
4. Procedimientos
5. Ejercicios
2
1. ¿Qué es un
algoritmo?
3
Algoritmos
Niño cambiando de llanta Robot cambiando de llanta
Dr. Cristian López Del Alamo
Algoritmos
Robot preparando una receta
Niña preparando una receta
Dr. Cristian López Del Alamo
Transistores
Dr. Cristian López Del Alamo
Algoritmo
Dr. Cristian López Del Alamo
Algoritmo
Inputs Algoritmo Outputs
Dr. Cristian López Del Alamo
Algoritmo
Dr. Cristian López Del Alamo
¿Qué es un Algoritmo?
Un algoritmo es una secuencia de pasos
ordenados de manera lógica que permiten
resolver un problema
Dr. Cristian López Del Alamo
2. Eficiencia
11
Algoritmo
Algoritmo
Encuentre si José está en esta lista
Juan Mario Elvis Carlos Pepe Ana karla Maria Lucho José
Juan Mario Elvis Carlos Pepe Ana karla Maria Lucho José
Juan Mario Elvis Carlos Pepe Ana karla Maria Lucho José
Juan Mario Elvis Carlos Pepe Ana karla Maria Lucho José
Dr. Cristian López Del Alamo
Algoritmo
Encuentre si Pepe está en está en esta lista o no
Ana Carlos Elvis Jose Juan Karla Lucho Maria Mario Pepe
Ana Carlos Elvis Jose Juan Karla Lucho Maria Mario Pepe
Ana Carlos Elvis Jose Juan Karla Lucho Maria Mario Pepe
Ana Carlos Elvis Jose Juan Karla Lucho Maria Mario Pepe
Dr. Cristian López Del Alamo
1. Algoritmo Buscar un nombre en una lista
Buscar_Nombre
Ana Carlos Elvis Jose Juan
Lista de cadena
de caracteres
Entero
Algoritmo 1 Si se encuentra
0 Si no
cadena de
caracteres
“Juan”
Dr. Cristian López Del Alamo
Eficiencia
Un algoritmo es eficiente si consume pocos
recurso (ram, disco) y resuelve el problema
en menor tiempo, en comparación a otros
algoritmos que resuelven el mismo problema
Dr. Cristian López Del Alamo
3. Variable
17
Variable
- Un ordenador, al igual que un robot o un Humano, tiene que
recordar datos.
- Los datos pueden ser números, lentas, cadenas de
caracteres, texto, figuras, sonidos, entre otras.
¿Donde se guardan estos datos?
Dr. Cristian López Del Alamo
Variable
¿Donde se guardan estos datos?
Dr. Cristian López Del Alamo
Variable
¿Donde se guardan estos datos?
Dr. Cristian López Del Alamo
Variable
“Hola”
45
a = 45
b = 3.1
3.1
palabra = “hola”
Memoria
Dr. Cristian López Del Alamo
Variable
Dirección
0x0FFA
45
Int
a = 45
0x0FFA
Memoria
Dr. Cristian López Del Alamo
Variable
Un variable es una estructura de datos que
almacena información. Una variable conoce
en tamaño del dato que almacena y la
dirección donde está ese dato Memoria.
Dr. Cristian López Del Alamo
4. Pseudocódigo
24
Ejemplos 1
1. Crear un algoritmo que suma dos números
Inputs Algoritmo Outputs
Dr. Cristian López Del Alamo
5 Ejemplos 1
1. Crear un algoritmo que suma dos números
Int a
5
Int
Int b
Algoritmo ?
Dr. Cristian López Del Alamo
5 Ejemplos 1
1. Crear un algoritmo que suma dos números
suma
Int a
5
Int
Int b
retornar ?
7
a+b
Dr. Cristian López Del Alamo
5 Ejemplo 2.
2. Hallar el mayor de dos números
Int a
5
Int
Int b
Algoritmo ?
Dr. Cristian López Del Alamo
5 Ejemplos 2
2. Hallar el mayor de dos números
mayor
Int a
5 Si a > b
Int
retornar a
Int b Sino ?
retornar b
7
Dr. Cristian López Del Alamo
5 Ejemplo 3.
3. Hallar el mayor de 3 números distintos
Int a
5
Int b Int
7
Algoritmo ?
Int c
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Hallar el mayor de 3 números distintos
mayor_ABC
Int a
Si (a > b) y (a>c)
5
retornar a Int
Int b
Si (b > a) y (b>c)
7 retornar b ?
Int c Si (c > a) y (c>b)
2
retornar c
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Hallar el mayor de dos números distintos
mayor_ABC
Int a
5
Int b Int
m1 = mayor(a,b)
7 m2 = mayor(m1,c) ?
Int c retornar m2
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Sea una círculo con centro centro c1= (x1,y1) y radio r1 y una otra circunferencia
c2=(x2,y2) y radio 2. Con esta información cree un algoritmo que retorne 1 si los circulos
se tocan cero si no
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Sea una círculo con centro centro c1= (x1,y1) y radio r1 y una otra circunferencia
c2=(x2,y2) y radio 2. Con esta información cree un algoritmo que retorne 1 si los círculos
se tocan y cero si no
(x1,y1)
r1
r2
(x1,y2)
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Sea una círculo con centro centro c1= (x1,y1) y radio r1 y una otra circunferencia
c2=(x2,y2) y radio 2. Con esta información cree un algoritmo que retorne 1 si los círculos
se tocan y cero si no
(x1,y1)
r1
r2
(x1,y2)
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Sea una círculo con centro centro c1= (x1,y1) y radio r1 y una otra circunferencia
c2=(x2,y2) y radio 2. Con esta información cree un algoritmo que retorne 1 si los círculos
se tocan y cero si no
(x1,y1)
r1
r2
(x1,y2)
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Sea una círculo con centro centro c1= (x1,y1) y radio r1 y una otra circunferencia
c2=(x2,y2) y radio 2. Con esta información cree un algoritmo que retorne 1 si los círculos
se tocan y cero si no
r2
(x1,y1) (x1,y1)
r2
(x1,y2)
(x1,y2)
r1 r1
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Se una círculo con centro centro c1= (x1,y1) y radio r1 y una otra circunferencia
c2=(x2,y2) y radio 2. Con esta información cree un algoritmo que retorne 1 si los círculos
se tocan cero si no
d=?
(x1,y1)
r1
d
r2
(x1,y2)
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Se un círculo con centro centro c1= (x1,y1) y radio r1 y una otra circunferencia
c2=(x2,y2) y radio 2. Con esta información cree un algoritmo que retorne 1 si los circulos
se tocan cero si no
(x1,y1)
r1
r2
(x1,y2)
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Se una círculo con centro centro c1= (x1,y1) y radio r1 y una otra circunferencia
c2=(x2,y2) y radio 2. Con esta información cree un algoritmo que retorne 1 si los circulos
se tocan cero si no
(x1,y1)
r1
d
r2
(x1,y2)
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. Se una círculo con centro centro c1= (x1,y1) y radio r1 y una otra circunferencia
c2=(x2,y2) y radio 2. Con esta información cree un algoritmo que retorne 1 si los círculos
se tocan cero si no
(x1,y1)
r1
r2
d r2 (x1,y1)
(x1,y2)
d=0
(x1,y2)
r1
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
distancia
Int x1
d=
Int y1 d = sqrt((x2-x1)^2 + (y2-y1)^2)
return d ?
Int x1
Int
Int y2
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
Colisión
Int x1
Int y1 d=
d = distancia(x1,y1,x2,y2)
Int r1 if(r1 + r2 < d) return 0 ?
if (r1 + r2 == d) return 1
if(r1 + r2 > d ) return 1
Int x1 if (d==0) return 1 Int
Int y2
Int r2
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
Dr. Cristian López Del Alamo
5 2. Ejemplos
3. 1. Calculamos la distancia entre los centros
colisión
Int x1
Int y1 colisión = SeTocan(x1,y2,r1,x2,y2,r2)
mientras (colisión es 0)
x1 = x1 + 2
Int r1 colisión = SeTocan(x1,y2,r1,x2,y2,r2)
Int x1
Int y2
Int r2
Dr. Cristian López Del Alamo
Ejercicios
Dr. Cristian López Del Alamo
4. Proceso para
programar
54
Algoritmo
Leer el problema Logramos desarrollar
Analizar el problema el algoritmo
¿Qué necesito?
¿Qué me piden retornar?
¿Cómo lo hago?
Dr. Cristian López Del Alamo
Algoritmo
No funciona
Lenguaje de
Programar
programación
Traducimos el
Conocer Sintaxis de
algoritmo a un
lenguaje
programa
Si Funciona
Dr. Cristian López Del Alamo
Ejercicios
Dr. Cristian López Del Alamo
¿ Preguntas ?
Gracias.
58