¿Cuál es el papel del algoritmo en la programación?

Términos simples : un algoritmo es un procedimiento para hacer las cosas.

Concepto : un algoritmo es un procedimiento para resolver un problema en términos matemáticos. Es la contraparte matemática de los programas.

Dado un algoritmo, se puede implementar en cualquier lenguaje de programación. Del mismo modo, todos los programas tienen un algoritmo subyacente que dicta su funcionamiento.

Precisamente

Un algoritmo definido por Knuth debe tener las siguientes propiedades:

  1. Finitud Un algoritmo siempre debe terminar después de un número finito de pasos.
  2. Definitividad Cada paso de un algoritmo debe definirse con precisión hasta el último detalle.
  3. Entrada. Un algoritmo tiene cero o más entradas.
  4. Salida. Un algoritmo tiene una o más salidas.
  5. Eficacia. Por lo general, también se espera que un algoritmo sea efectivo, en el sentido de que todas sus operaciones deben ser lo suficientemente básicas como para que, en principio, alguien pueda hacerlo con lápiz y papel en un tiempo finito.

Sugeriría leer Knuth 1.1: ¿Qué es un algoritmo?

El algoritmo es paso a paso que se escribe de manera concisa sin ninguna ambigüedad (cada paso) para resolver un problema en particular. Se asigna de entrada a la salida, entre estos dos hay múltiples operaciones / pasos. El número de pasos en un algoritmo debe ser finito.

La programación se trata de resolver problemas con la ayuda del lenguaje de programación. Para escribir un programa para un problema, el programador debe conocer la entrada y la salida y cómo resolver el problema. Un algoritmo resuelve la mitad de la tarea anterior. El algoritmo se puede escribir en oraciones simples en inglés con una mención clara de los pasos. De lo contrario, podemos usar pseudocódigo que es bastante similar a las palabras clave del lenguaje de programación.

El algoritmo es una forma de abordar un problema.

No es necesario mencionar todos los detalles en el algoritmo, solo necesita conocer las estructuras de datos y los punteros requeridos y enmarcar su algoritmo de tal manera que, a pesar del lenguaje de programación, el método sea el mismo y no se pueda entender.

Los algoritmos reducen sustancialmente el tiempo para resolver problemas, ya que solo necesita implementar el programa ya que la lógica ya está explicada.