# data[].attributes.body
Un algoritmo informático es un conjunto de instrucciones definidas, ordenadas y acotadas para resolver un problema, realizar un cálculo o desarrollar una tarea. Es decir, un algoritmo es un procedimiento paso a paso para conseguir un fin. A partir de un estado e información iniciales, se siguen una serie de pasos ordenados para llegar a la solución de una situación.

En programación, un algoritmo supone el paso previo a ponerse a escribir el código. Primero debemos encontrar la forma de obtener la solución al problema (definir el algoritmo informático), para luego, a través del código, poder indicarle a la máquina qué acciones queremos que lleve a cabo. De este modo, un programa informático no sería más que un conjunto de algoritmos ordenados y codificados en un lenguaje de programación para poder ser ejecutados en un ordenador.

# data[].attributes.body
los algoritmos presentan una serie de características comunes. Son:

Precisos. Objetivos, sin ambigüedad.

Ordenados. Presentan una secuencia clara y precisa para poder llegar a la solución.

Finitos. Contienen un número determinado de pasos.

Concretos. Ofrecen una solución determinada para la situación o problema planteados.

Definidos. El mismo algoritmo debe dar el mismo resultado al recibir la misma entrada.

# data[].attributes.body
Las tres partes de un algoritmo son:

1. Input (entrada). Información que damos al algoritmo con la que va a trabajar para ofrecer la solución esperada.

2. Proceso. Conjunto de pasos para que, a partir de los datos de entrada, llegue a la solución de la situación.

3. Output (salida). Resultados, a partir de la transformación de los valores de entrada durante el proceso.

# data[].attributes.body
Existen diversas clasificaciones de algoritmos, en función de diferentes criterios. Según su sistema de signos (cómo describen los pasos a seguir), se distingue entre algoritmos cuantitativos y cualitativos, si lo hacen a través de cálculos matemáticos o secuencias lógicas. Asimismo, si requieren o no el empleo de un ordenador para su resolución, se clasifican en computacionales y no computacionales.

Pero, si nos fijamos en su función (qué hace) y su estrategia para llegar a la solución (cómo lo hace), encontramos muchos más tipos de algoritmos.