1. Facultad de Ciencias de la Computación - BUAP
Introducción a los Algoritmos
M.C. Pedro Bello López
2. Facultad de Ciencias de la Computación - BUAP
Cómo Resolver un Problema
Definirlo
Generar Soluciones
Decidir un curso de acción
(Algoritmo)
Implementarlo
(Leng. De Prog)
Evaluarlo
(Pruebas)
3. Facultad de Ciencias de la Computación - BUAP
Solución de un Problema
• Escriba el enunciado del problema
4. Facultad de Ciencias de la Computación - BUAP
Solución de un Problema
• Asegúrese de resolver el verdadero
problema y no uno percibido
5. Facultad de Ciencias de la Computación - BUAP
Solución de un Problema
• Dibuje un diagrama que represente el problema a resolver
6. Facultad de Ciencias de la Computación - BUAP
Solución de un problema
• Haga una lista con las suposiciones y aproximaciones
involucradas en la solución del problema
7. Facultad de Ciencias de la Computación - BUAP
Solución de un problema
• Relacione el problema con otro, o una
experiencia similar
8. Facultad de Ciencias de la Computación - BUAP
Solución de un problema
• Escriba un algoritmo
9. Facultad de Ciencias de la Computación - BUAP
Solución de un problema
• Examine y evalúe la respuesta para ver si tiene sentido
10. Facultad de Ciencias de la Computación - BUAP
Definición de Algoritmo
• Es una secuencia ordenada, finita e inequívoca de
pasos para resolver un determinado problema.
11. Facultad de Ciencias de la Computación - BUAP
origen del vocablo “algoritmo”
Abu Ja´far Muhammed ibn Musa al-Khowârizmî [825
d.C.]
< padre de Jafar, Mohammed, hijo de Moisés, natural de Jowarizm >
escribió: (antes Persia, ahora Rusia)
“Kitab al-jabr w´alal-muqābalah”
< “reglas de restauración y reducción” >
álgebra
aritmética algorismo
algoritmo
12. Facultad de Ciencias de la Computación - BUAP
La lógica
Aristóteles (la silogística) [384 a.C.-322 a.C.]
Boole (su álbebra) [1815-1869]
Frege (desarrollo [1848-1925]
Peano lógica moderna) [1858-1932]
Whitehead y Russell (“Principia Matematica”)
[3 vols. 1910-1913]
lógica
estudia el razonamiento válido
13. Facultad de Ciencias de la Computación - BUAP
Algoritmo - Programa
• Máquina debe ejecutar una tarea.
• Algoritmo debe definir los pasos para la
ejecución de la tarea.
• Programa: Representación (compatible
con la máquina) de un Algoritmo
• Programa <==> Software
• Máquina <==> Hardware
14. Facultad de Ciencias de la Computación - BUAP
Importancia Algoritmo/Máquina
• El estudio de los algoritmos y las máquinas
(computadores) forman la “columna
vertebral” de las Ciencias de la Computación
15. Facultad de Ciencias de la Computación - BUAP
Métodos de representación de un Algoritmo
Los métodos más
usuales para la
representación de
algoritmos son:
• Descripción
narrada
• Diagrama de flujo
• Pseudocódigo
16. Facultad de Ciencias de la Computación - BUAP
Descripción narrada
• Consiste en dar un
relato de la solución
del problema en
lenguaje natural
17. Facultad de Ciencias de la Computación - BUAP
Diagrama de Flujo
• Es la representación grafica de un
algoritmo
Inicio y fin del Algoritmo
Proceso
Entrada
Salida
Decisión
Líneas de flujo
Conector
18. Facultad de Ciencias de la Computación - BUAP
Pseudocódigo
• El Pseudocódigo es un lenguaje de
especificación de algoritmos que
utiliza palabras reservadas y exige la
identación, o sea, sangría en el
margen izquierdo, de algunas líneas.
Es una herramienta muy efectiva
para el seguimiento de la lógica de
un algoritmo y para transformar con
facilidad los algoritmos a programas.
Notas del editor
#3:Incluya información sobre lo que desea resolver y considere por qué usted necesita resolver ese problema
#4:Use alguna técnica para verificar que usted realmente está definiendo y resolviendo el problema real
#5:Defina y ponga nombres a todas las variables y/o símbolos que encuentre. Muestre los valores numéricos de las variables que los tengan.
#6:Analice las suposiciones y establezca cuáles son las más razonables para su propósito
#7:Compare el problema con otros de apuntes o de libros
#8:Secuencia de pasos coherente que conduce a la solución efectiva del problema