Cuando uno desea programar, siempre radica o da un paseo por el tema de análisis
en la solución de un problema y al buscar esa respuesta siempre, recurre al tema más esencial de la programación
de las computadoras que es “el algoritmo”.
Si uno se anima a programar tiene dos retos
fundamentales los cuales son: aprender a conocer el lenguaje de programación y
desarrollar a resolver problemas con los algoritmos. Pero, ¿por cuál se
comienza primero?
Sin duda lo primero que uno debe desarrollar es a
resolver cualquier problema mediante los algoritmos, ya que es la piedra
angular, es el mapa para desarrollar
cualquier objetivo en cuanto a la creación de un software.
Aunque no lo creas en la vida cotidiana los algoritmos
forman parte de nuestro entorno y conforme va avanzando el tiempo va tomando
cada vez más fuerza e importancia.
Como mencionamos a los algoritmos es bueno saber cómo
se define. Según la RAE define al
algoritmo como un “conjunto ordenado y finito de operaciones que permite hallar
la solución de un problema” y en otra acepción como “método y notación en las
distintas formas del cálculo”. En Wikipedia
brinda una amplia explicación: “es un conjunto prescrito
de instrucciones o reglas bien definidas, ordenadas y finitas
que permite realizar una actividad mediante pasos sucesivos que no generen
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”.
Los
algoritmos en la vida cotidiana nos rodean silenciosamente, sin duda
cuando tú haces uso del buscador por excelencia y hago referencia a Google, también
cuando ves las publicaciones en Facebook, cuando quieres ver una película o
recuperar datos de un DVD, al jugar los
videos-juegos favoritos etc. Estás
haciendo uso de un algoritmo.
Es por
tal razón que uno debe desarrollar la capacidad de solucionar los problemas a través
de algoritmos, para luego codificar con la ayuda de un lenguaje de programación
para desarrollar algún tipo de Software, aplicaciones, plugin, etc.