Algoritmos
Algoritmos
Unidad 1
Conceptos básicos y metodología para la
solución de problemas computacionales
Leonardo Yamasaki Maza
Creative Commons 2012 Leonardo Yamasaki Maza
Objetivos
●
●
TIEMPO APROXIMADO: 12 Horas
OBJETIVO DE LA UNIDAD: Aplicar los
conceptos básicos de los algoritmos en la
solución de problemas programables.
Creative Commons 2012 LeonardoYamasaki Maza
Contenidos
●
1.1 Definición de algoritmo
●
1.2 Características de los algoritmos
●
1.3 Tipos de algoritmos
●
1.4 Procesos e instrucciones
–
–
●
1.4.1 Procesos y su descripción
1.4.2 Variables
1.5 Especificación de un algoritmo
–
1.5.1 Predicados
–
1.5.2 Elementos de una especificación
Creative Commons 2012 Leonardo Yamasaki MazaContenidos
●
1.6 Metodología para la solución de problemas
–
1.6.1 Definición del problema
–
1.6.2 Análisis de los datos
–
1.6.3 Diseño de la solución
–
1.6.4 Codificación
–
1.6.5 Prueba y depuración
–
1.6.6 Documentación
–
1.6.7 Mantenimiento
Creative Commons 2012 Leonardo Yamasaki Maza
Definición de algoritmo
●
●
En matemáticas, cienciasde la computación y disciplinas
relacionadas, un algoritmo es un conjunto preescrito de
instrucciones o reglas bien definidas, ordenadas y finitas que
permite realizar una actividad mediante pasos sucesivos que no
generen dudas a quien deba realizar dicha actividad. Dados un
estado inicial y una entrada, siguiendo los pasos sucesivos se llega
a un estado final y se obtiene una solución. Losalgoritmos son el
objeto de estudio de la algoritmia.
En la vida cotidiana, se emplean algoritmos frecuentemente para
resolver problemas. Algunos ejemplos son los manuales de
usuario, que muestran algoritmos para usar un aparato, o las
instrucciones que recibe un trabajador por parte de su patrón.
Algunos ejemplos en matemática son el algoritmo de la división
para calcular el cociente dedos números, el algoritmo de Euclides
para obtener el máximo común divisor de dos enteros positivos, o
el método de Gauss para resolver un sistema lineal de ecuaciones.
Creative Commons 2012 Leonardo Yamasaki Maza
Características de los algoritmos
●
●
Tiempo secuencial:
Un algoritmo funciona en tiempo
discretizado –paso a paso–, definiendo así
una secuencia de estados"computacionales" por cada entrada válida
(la entrada son los datos que se le
suministran al algoritmo antes de
comenzar).
Creative Commons 2012 Leonardo Yamasaki Maza
Características de los algoritmos
●
●
Estado abstracto:
Una estructura de primer orden y cada
algoritmo es independiente de su
implementación (los algoritmos son objetos
abstractos) de manera que en un algoritmo
lasestructuras de primer orden son
invariantes bajo isomorfismo.
Creative Commons 2012 Leonardo Yamasaki Maza
Características de los algoritmos
●
●
Exploración acotada:
La transición de un estado al siguiente
queda completamente determinada por
una descripción fija y finita; es decir, entre
cada estado y el siguiente solamente se
puede tomar en cuenta una cantidad fija y
limitada de términosdel estado actual.
Creative Commons 2012 Leonardo Yamasaki Maza
Tipos de algoritmos
●
Por implementación:
–
Recursivos o Iterativos
–
Lógicos o Procedimentales
–
Seriados o Paralelos
–
Determinísticos o No-determinístico
Creative Commons 2012 Leonardo Yamasaki Maza
Tipos de algoritmos
●
●
●
●
●
Recursivos:
Es aquel que invoca (hace referenciaa) sí mismo varias
veces hasta que se cumple alguna condición, es un
método común en la programación funcional
Iterativos:
Se caracterizan por ejecutarse mediante ciclos. Son útiles
para realizar tareas repetitivas. Los lenguajes de
programación modernos tienen palabras reservadas para
la realización de iteraciones.
Los algoritmos iterativos puede implementarse como
recursivos. El...
Regístrate para leer el documento completo.