Definición:
Un algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una
tarea específica, como la solución de un problema. Los algoritmos son independientes tanto
del lenguaje de programación en que se expresan como de la computadora que los ejecuta.
En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación
y ejecutarse en una computadora distinta; sin embargo el algoritmo será siempre el mismo.
Reseña histórica:
La palabra algoritmo proviene del nombre del matemático llamado Abu Abdullah
Muhammad bin Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el
alfabeto latín, tales como Al-Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-Khawaritzmi o Al-
Khowarizmi) que vivió entre los siglos VIII y IX.
Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y
de la India. Sus libros eran de fácil comprensión, de ahí que su principal valor no fuera el
de crear nuevos teoremas o nuevas corrientes de pensamiento, sino el de simplificar las
matemáticas a un nivel lo suficientemente bajo para que pudiera ser comprendido por un
amplio público, explicó que, mediante una especificación clara y concisa de cómo calcular
sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos
mecánicos similares a un ábaco en vez de las manos.
Aunque no haya sido él el inventor del primer algoritmo, merece que este concepto
esté asociado a su nombre. Al-Khorezmi fue sin duda el primer pensador algorítmico.
Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La
autora fue Ada Byron, en cuyos escritos se detallaban la máquina analítica de Charles
Babbage en 1842. Por ello que es considerada por muchos como la primera programadora
aunque Babbage no completó su máquina por lo que el algoritmo nunca se implementó.
Importancia:
Los algoritmos poseen hoy una gran importancia tanto para informática, robótica y
ciencias de la computación, por medio de algoritmos se llega a un orden de ideas y un
proceso correcto en la elaboración de maquinarias y robots lo que conlleva a un avance en
la tecnología y un mayor progreso a nivel mundial
El computador es una máquina que por sí sola no puede hacer nada, necesita ser
programada, es decir, introducirle instrucciones u órdenes que le digan lo que tiene que
hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el
Problema. El proceso de programación es el siguiente: Dado un determinado problema el
programador debe idear una solución y expresarla usando un algoritmo, luego de esto, debe
codificarlo en un determinado lenguaje de programación y por último ejecutar el programa
en el computador el cual refleja una solución al problema inicial.
Definición del problema: Esta fase está dada por el enunciado del problema, el cual
requiere una definición clara y precisa. Es importante que se conozca lo que se
desea que realice la computadora; mientras esto no se conozca del todo no tiene
mucho caso continuar con la siguiente etapa.
Tipos de algoritmos:
1) Según el sistema de signos con el que describen los pasos a seguir, se reconocen:
3) También los algoritmos han sido clasificados según la estrategia que se utiliza para llegar
al resultado. Veamos algunos ejemplos:
Algoritmo heurístico: abandona alguno de los objetivos como recurso para terminar
llegando a la solución. En general, son utilizados cuando no existe una solución
mediante las vías tradicionales.
Algoritmo de escalada: se comienza con una solución insatisfactoria (que no cumple
la entrada y la salida), y se la va modificando aproximándose a lo que se busca. En
algún momento, estaremos cerca de (o llegaremos a) la solución correcta.
Algoritmo voraz: Con la idea de llegar a una solución óptima definitiva, elige analizar
cada paso como único y elegir la solución óptima para ese paso.
Lenguaje algorítmico:
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos
lenguajes permiten describir los pasos con mayor o menor detalle:
Lenguajes de Bajo Nivel: Son más fáciles de utilizar que los lenguajes máquina,
pero al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo
nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador
son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos
típicos de operaciones aritméticas son: en inglés: ADD, SUB, DIV, etc.; en español:
SUM, RES, DIV, etc.
Lenguajes de Alto Nivel: Estos lenguajes son los más utilizados por los
programadores. Están diseñados para que las personas escriban y entiendan los
programas de un modo mucho más fácil que los lenguajes máquina y
ensambladores. Un programa escrito en lenguaje de alto nivel es independiente de
la máquina (las instrucciones no dependen del diseño del hardware o de una
computadora en particular), por lo que estos programas son portables o
transportables. Los programas escritos en lenguaje de alto nivel pueden ser
ejecutados con poca o ninguna modificación en diferentes tipos de computadoras.
JAVA
C
C++
PHYTON
VISUAL BASIC
Bibliografía
http://html.rincondelvago.com/lenguajes-algoritmicos_historia-y-sus-
aplicaciones.html
http://catedraprogramacion.forosactivos.net/t83-definicion-de-lenguaje-de-
programacion-tipos-ejemplos
http://noticias.universia.com.ar/consejos-
profesionales/noticia/2016/02/22/1136443/conoce-cuales-lenguajes-
programacion-populares.html