Uso de la computadora en la resolución de problemas
En general, se escriben algoritmos para resolver problemas que no son tan fáciles de resolver a primera vista, y de los que necesitamos especificar el conjunto de acciones que se llevarán a cabo para su resolución.
Además, como lo que interesa es resolver problemas utilizando la computadora, los algoritmos tendrán como finalidad ser traducidos en programas, por lo que es conveniente mencionar el proceso general deresolución de problemas, desde que se dispone de un algoritmo, hasta que la computadora lo ejecuta.
Proceso general de resolución de problemas con la computadora
Algoritmo
↓
Programación
↓
Programa en lenguaje de alto nivel
↓
Traducción
↓
Programa en código de máquina
↓
Ejecución
Existen diferentes formas de traducir un algoritmo a un programa. En el diagrama mostrado se ha escogido la representación en un lenguaje de alto nivel, debido a que los lenguajes de este tipo proporcionan un mayor nivel de abstracción y familiarización con el lenguaje natural.
Aquí también es importante recordar que las computadoras tienen su propio lenguaje (binario), por lo que es necesario un proceso de traducción (realizado por el compilador) para que se traduzca el conjunto de sentencias escritas en un lenguaje de programación de alto nivel (código fuente), a un conjunto de instrucciones que sean compresibles para la computadora (código de máquina). Finalmente, y aunque el proceso involucrado es más complejo que lo que aquí se ha descrito, si todo está bien, el resultado de este proceso será la ejecución del programa basado en el algoritmo.
Teniendo en consideración lo anterior, debería ser claro que el papel del algoritmo es fundamental, ya que sin algoritmo no puede haber programas, y sin programas, no hay nada que ejecutar en la computadora.
Es importante mencionar y enfatizar también que, un algoritmo es independiente tanto del lenguaje de programación en que se exprese, como de la computadora en la que se ejecute, por lo que no deberían ser diseñados en función de ello.
Otro aspecto importante dentro de los algoritmos, es el del análisis y diseño de algoritmos. El análisis y diseño formal de algoritmos es una actividad intelectual considerable y no trivial en general, ya que el diseño de buenos algoritmos requiere creatividad e ingenio, y no existen reglas para diseñar algoritmos en general.
Fuente: Elementos de la Programación Estructurada: Algoritmos, Pseudo Código y Diagramas de Flujo de Ricardo Ruiz Rodríguez