Un algoritmo es un conjunto prescrito de instrucciones o reglas bien definidas,
ordenadas que permiten llevar a cabo una actividad mediante pasos sucesivos que no generen dudas deba hacer dicha actividad. Los algoritmos son el objeto de estudio de la algoritmia. Se podría decir que un algoritmo se emplea en muchas facetas de la vida cotidiana, un ejemplo común de este serían los manuales de usuario, que muestran algoritmos para utilizar un aparato. Ya en términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten solucionar un problema. El origen del termino algoritmo surgió a mediados del siglo IX cuando el distinguido, matemático y astrónomo Mohammed Ibn Musa-al-Khwarizmi desarrollo su obra "Al-yebr-muga bata" fórmulas para posibilitar que con un numero de procesos fuese posible resolver ecuaciones de primer y segundo grado. El primer caso de un algoritmo escrito en una computadora son las notas escritas por Ada Byron, reputada matemática británica, en 1842 para el motor analítico de Charle Babbage.
Clasificación de los Algoritmos:
Hay dos clasificaciones de algoritmos: Algoritmos Informales. Algoritmos Computacionales. Algoritmos Informales: Son aquellos que no son realizados para una computadora, sino se diseñan para ser ejecutados por el ser humano. Todos los días ejecutamos algoritmos informales en todas las actividades: al preparar el desayuno, vestirnos, al movernos a un ligar en específico, entre otros. Algoritmos Computacionales: Son los que se crean para que una computadora sea quien ejecute los pasos y obtener el resultad esperado. Se aprovecha la velocidad de procesamiento del ordenador para darnos un resultado mucho más confiable. Características de los Algoritmos: Las características que debe cumplir todo algoritmo: Un algoritmo debe ser preciso: tiene que indicar el orden de realización de cada paso. Un algoritmo debe estar definido: si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Un algoritmo debe ser finito: el algoritmo se debe terminar en algún momento; o sea, debe tener un numero finito de pasos. Un algoritmo debe ser legible: el texto que lo describe debe ser claro, tal que permita entenderlo. Un algoritmo debe definir tres partes: entrada, proceso y salida. Pseudocódigo: Es una descripción de alto nivel compacta e informal del principio operativo de un programa informático u otro algorítmico. Utiliza las convenciones estructurales de un lenguaje de programación real, pero está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código especifico del sistema y algunas subrutinas.