En matemáticas, ciencias de la computación y disciplinas relacionadas, es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permiten realizar una actividad mediante pasos sucesivos que no generan dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.
Conceptualmente, un
algoritmo tiene tres componentes:
- la entrada: son los datos sobre los que el algoritmo
opera;
- el proceso: son los pasos que hay que seguir, utilizando
la entrada;
- la salida: es el resultado que entrega el algoritmo.
El proceso es una secuencia de sentencias, que debe ser realizada en orden.
El proceso también puede tener ciclos (grupos
de sentencias que son ejecutadas varias veces) y condicionales (grupos de
sentencias que sólo son ejecutadas bajo ciertas condiciones).
Pseudocódigo: es una
descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje
natural con algunas convenciones sintácticas propias de lenguajes de
programación, como asignaciones, ciclos y condicionales, aunque no está regido
por ningún estándar. Es utilizado para describir algoritmos en libros y
publicaciones científicas, y como producto intermedio durante el desarrollo de
un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante
sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos
espacio para representar instrucciones complejas.