You are on page 1of 15

Los algoritmos son las ciencias de la computacin y disciplinas relacionadas.

Un algoritmo es un conjunto de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos que no generen dudas a la persona que lo realiza.

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros. Los mas comunes son: Descripcin de alto nivel. Se establece el problema, se selecciona un modelo matemtico y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos que encuentran la solucin. Implementacin. Se muestra el algoritmo expresado en un lenguaje de programacin especfico o algn objeto capaz de llevar a cabo instrucciones.

Los diagramas de flujo son descripciones grficas de algoritmos; usan smbolos conectados con flechas para indicar la secuencia de instrucciones y estn regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeos, ya que abarcan mucho espacio y su construccin es laboriosa. Por su facilidad de lectura son usados como introduccin a los algoritmos, descripcin de un lenguaje y descripcin de procesos a personas ajenas a la computacin.

El pseudocdigo es una descripcin de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintcticas propias de lenguajes de programacin, como asignaciones, ciclos y condicionales, aunque no est regido por ningn estndar. Es utilizado para describir algoritmos en libros y publicaciones cientficas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, y es que los algoritmos descritos en pseudocdigo requieren menos espacio para representar instrucciones complejas.

La teora de autmatas y la teora de funciones recursivas proveen modelos matemticos que formalizan el concepto de algoritmo. Los modelos ms comunes son la mquina de Turing, mquina de registro y funciones -recursivas. Estos modelos son tan precisos como un lenguaje mquina, careciendo de expresiones coloquiales o ambigedad, sin embargo se mantienen independientes de cualquier computadora y de cualquier implementacin.

Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, los algoritmos pueden ser implementados en otros medios, como una red neuronal, un circuito elctrico o un aparato mecnico y elctrico. Algunos algoritmos inclusive se disean especialmente para implementarse usando lpiz y papel. El algoritmo de multiplicacin tradicional, el algoritmo de Euclides, la criba de Eratstenes y muchas formas de resolver la raz cuadrada son slo algunos ejemplos.

Un algoritmo se puede concebir como una funcin que transforma los datos de un problema (entrada) en los datos de una solucin (salida). Ms an, los datos se pueden representar a su vez como secuencias de bits, y en general, de smbolos cualesquiera. Como cada secuencia de bits representa a un nmero natural, entonces los algoritmos son en esencia funciones de los nmeros naturales en los nmeros naturales que s se pueden calcular. Es decir que todo algoritmo calcula una funcin donde cada nmero natural es la codificacin de un problema o de una solucin.

El anlisis de los algoritmos es una disciplina de las ciencias de la computacin y su estudio es completamente abstracto sin usar ningn tipo de lenguaje de programacin ni cualquier otra implementacin; por eso, en ese sentido, comparte las caractersticas de las disciplinas matemticas. As, el anlisis de los algoritmos se centra en los principios bsicos del algoritmo, no en los de la implementacin particular. Una forma de plasmar (o algunas veces "codificar") un algoritmo es escribirlo en pseudocdigo o utilizar un lenguaje muy simple tal como Lexico, cuyos cdigos pueden estar en el idioma del programador.

Un algoritmo se puede concebir como una funcin que transforma los datos de un problema (entrada) en los datos de una solucin (salida)

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros.

La descripcin de un algoritmo usualmente se hace en tres niveles: Descripcin de alto nivel. Se establece el problema, se selecciona un modelo matemtico y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos que encuentran la solucin. Implementacin. Se muestra el algoritmo expresado en un lenguaje de programacin especfico o algn objeto capaz de llevar a cabo instrucciones.

You might also like