¿Qué es un algoritmo y qué es un programa?

¿Qué es un algoritmo?

  • Un algoritmo es la receta para resolver un conjunto de problemas.
  • Es un conjunto de instrucciones que indican paso a paso que hay que hacer.
  • Un algoritmo es conceptual y puede ser descrito usando el lenguaje natural que usamos día a día, diagramas de flujo o pseudocódigo.
  • Un algoritmo puede implementarse en diferentes lenguajes de programación.

¿Qué es un programa?

Un programa está asociado intrínsecamente a la existencia de una computadora. Las computadoras ejecutan programas. Los programas leen datos desde archivos, bases de datos, redes, teclados, etc y escriben datos en archivos, bases de datos, redes, pantallas, etc.
Los programas son ejecutados por el procesador de la computadora. Para ello tienen que ser cargados en la memoria principal RAM. La carga de los programas en la memoria esta a cargo de un tipo especial de programa o software llamado sistema operativo

Diferencia entre algoritmo y programa

Aunque pueden confundirse, por ejemplo los dos son un conjunto de instrucciones, representan dos conceptos muy distintos. Un algoritmo es más parecido a una idea, una forma de resolver un problema, mientras que un programa está más ligado a la realización de una o más tareas por una computadora.
Un programa puede implementar uno o varios algoritmos, o puede ser tan simple que la idea de algoritmo es poco aplicable. La tarea de un programador suele empezar diseñando algoritmos para resolver los problemas planteados y luego implementarlos e incluirlos en un programa.
Cuando hablamos de programa siempre existe la idea de que será ejecutado por una computadora mientras que un algoritmopodría ser ejecutado por una persona.
Un programa está escrito en lenguaje máquina o por lo menos en un lenguaje que pueda ser compilado o interpretado por algún tipo de máquina (a veces una máquina virtual).

Comentarios

Entradas populares de este blog

Traza de un algoritmo (corrida en frío)

Esquema del informe del proyecto y portafolio (Física y Digital)

Técnicas e instrumentos de recolección de datos