Se denomina algoritmo a una secuencia ordenada y finita de pasos que resuelve un problema completo.

Las características que lo definen son las siguientes:
1. Corrección: No hay errores.
2. Precisión.
3. Repetitividad.
4. Eficiencia.
La implementación de un algoritmo en un lenguaje de programación constituye lo que se define bajo el nombre de programa.


Otra definición de programa: conjunto ordenado de instrucciones que se dan en el ordenador para que resuelva un problema, realizar una acción, una tarea.
Los programas se almacenan en una memoria no volátil, de esta manera el usuario puede solicitar su ejecución directamente o indirectamente. En el momento en que se realiza dicha solicitud el programa es cargado en la memoria de acceso aleatorio o RAM del equipo, bajo el control del software llamado sistema operativo, el cual puede acceder directamente al procesador. El procesador se encarga de ejecutar el programa, instrucción a instrucción.


Por otro lado, vamos a hablar del software.