Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción ......................................................................................................................................................4
Breve historia de los algoritmos. ...................................................................................................................6
Características de un algoritmo.....................................................................................................................8
Razones para estudiar algoritmos. ...............................................................................................................8
Formas de representación de algoritmos. ...................................................................................................9
La máquina de Turing ...................................................................................................................................12
Bibliografía ......................................................................................................................................................14
4
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
INTRODUCCION DE LA UNIDAD
A medida que avanza la tecnología se desarrollan aplicaciones más versátiles, las cuales
se basan en facilitar la vida a los usuarios. Por eso es natural ver que las empresas y las
mayoría de los hogares tienen una computadora para llevar a cabo tareas laborales y
cotidianas. Las aplicaciones se diseñan basadas en Algoritmos que sustentan su lógica
de operación.
5
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
Esta unidad posee como objetivo general construir conocimientos básicos sobre la historia
de los algoritmos, así como las formas de representación de los mismos.
6
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
El término algoritmo proviene del matemático árabe Al'Khwarizmi, que escribió un tratado
sobre los números. Este texto se perdió, pero su versión latina, Algoritmi de Numero
Indorum, sí se conoce.
Los babilonios que habitaron en la antigua Mesopotania, empleaban unas pequeñas bolas
hechas de semillas o pequeñas piedras, a manera de "cuentas" y que eran agrupadas en
carriles de caña. Más aún, en 1.800 A.C. un matemático babilónico inventó los algoritmos
que le permitieron resolver problemas de cálculo numérico.
7
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
El poder de las computadoras en este período estaba limitado por procesadores lentos y
por pequeñas cantidades de memoria. Así, se desarrollaron teorías (modelos, algoritmos y
análisis) para hacer un uso eficiente de ellas. Esto dio origen al desarrollo del área que
ahora se conoce como "Algoritmos y Estructuras de Datos". Al mismo tiempo se hicieron
estudios para comprender la complejidad inherente en la solución de algunos problemas.
Esto dió origen a lo que se conoce como la jerarquía de problemas computacionales y al
área de "Complejidad Computacional".
La lectura de los párrafos anteriores muestra que los algoritmos computacionales tienen
su origen en los algoritmos matemáticos.
El primer caso de un algoritmo escrito para una computadora se considera que son las
notas escritas por Ada Lovelace en 1842 para el motor analítico de Charles Babbage.
Por esta razón, se considera a Ada Byron como la primera programadora de la historia.
Sin embargo, dado que Babbage nunca terminó su motor analítico, el algoritmo jamás
llegó a implementarse.
8
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
Características de un algoritmo
Para estudiar algoritmos existen varias razones, a continuación mencionaremos las más
destacadas:
1) Evitar reinventar la rueda. Para algunos problemas de programación ya existen
buenos algoritmos para solucionarlos. Para esos algoritmos ya fueron analizadas sus
propiedades. Por ejemplo, confianza en que están correctos y son eficientes.
2) Encontrar ayuda cuando desarrollen sus propios algoritmos. No siempre existe un
algoritmo desarrollado para resolver un problema. No existe regla general de creación
de algoritmos. Muchos de los principios de proyecto de algoritmos ilustrados por
algunos de los algoritmos que estudiaremos son importantes en todos los problemas
de programación. El conocimiento de los algoritmos bien definidos provee una fuente
de ideas que pueden ser aplicadas a nuevos algoritmos.
3) Entender herramientas que usan algoritmos particulares. Por ejemplo,
herramientas de compresión de datos:
9
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
2 IBID., p. 23
1
Mtra. Agustina De los Santos Rosario 0
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
Ejemplo 2:
Leer 500 números enteros y obtener cuántos son positivos
Inicio
conta 0
positivos
conta conta + 1
Leer núm
positivos > 0 No
Si
positivos
positivos + 1
No Conta = 500
Si
Escribir
positivos
Fin
10
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
Joyanes Aguilar, Luis; Rodríguez Baena, Luis; Fernández Azuela, Matilde, (2003).
Fundamentos de programación: libro de problemas. McGraw-Hill. Segunda Edición.
11
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
Joyanes Aguilar, Luis; Rodríguez Baena, Luis; Fernández Azuela, Matilde, (2003). Fundamentos
de programación: libro de problemas. McGraw-Hill. Segunda Edición.
La máquina de Turing
Alan Mathison Turing, famoso matemático inglés
(1912-1954), cuyas contribuciones en el campo de
la matemática y de la teoría de la computación le
han valido ser considerado uno de los padres de la
computación digital. Ideó un dispositivo imaginario
al que denominó máquina de computación lógica
(LCM, Logical Computing Machine), pero que ha
recibido en su honor el nombre de máquina de
Turing3.
12
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
13
Mtra. Agustina De los Santos Rosario
Unidad I: Conceptos Generales sobre Algoritmos Computacionales
BIBLIOGRAFIA
Joyanes Aguilar, Luis; Rodríguez Baena, Luis; Fernández Azuela, Matilde, (2003).
Fundamentos de programación : libro de problemas. McGraw-Hill. Segunda Edición.
14
Mtra. Agustina De los Santos Rosario