lunes, 22 de febrero de 2016

Capitulo 2: Algoritmos. Parte 1

2
Diario de un programador. Día 2

Aprendiendo a programar. Los Algoritmos

En la búsqueda por aprender a hacer un programa, me encontré con otra palabra que no había escuchado antes, pero que era muy común de leer en distintos foros  de informática, donde los usuarios daban recomendaciones a principiantes como yo, en este mundo de la programación. Aquella palabra era "Algoritmo", palabra que según la web wordreference.com, significa "Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema".
"Tener conocimiento de algoritmos, es vital si se desea aprender a programar". Esta frase se repite una y otra vez por las páginas que visité. Es un requisito. Entonces me puse a investigar más sobre esos dichosos algoritmos. Averigüé que otra definición que se le puede dar a algoritmo es "Serie de pasos a seguir para llegar a la solución de un problema", o "Secuencia de actividades para conseguir un objetivo" y que además, los algoritmos se encuentran en todas partes e incluso forman parte de nuestra vida cotidiana.  Un algoritmo mal confeccionado o que no cumpla con algún requisito para lograr un objetivo, no dará el resultado que se busca. Seguiré con algunos ejemplos:
Algoritmo que llevo a cabo al levantarme por la mañana para ir a trabajar (Pasos que sigo para cumplir ese objetivo)

1.- Despierto
2.- Me levanto
3.- Voy al baño
4.- Me ducho
5.- Me pongo la ropa
6.- Me voy a trabajar

A simple vista se ve bien, se describen todos los pasos pero, entre el punto 4 y el punto 5 podría ocurrir algo. No especifico si antes de ponerme la ropa debo secarme primero y además la ropa ¿me la pongo en el baño o en mi habitación?.  Cuestiones que podrían parecer como obvias para uno, no lo son para un computador, ya que un computador no piensa. Solo ejecuta  instrucciones según el orden que se le indica, y es por esta razón que si no se confecciona un buen algoritmo, el programa hará cosas inesperadas y se obtendrá resultados no deseados.
Veré otro algoritmo de la vida diaria. Tomar sopa
Para tomar una rica sopa sentado en mi comedor, realizo los siguientes pasos.

1. Meto la cuchara en la sopa
2. Saco la cuchara con sopa sin derramarla
3. Meto la cuchara en mi boca y me la tomo
4. Repito desde el paso uno hasta que se acabe la sopa

Otro ejemplo de algoritmo. Esta vez veré si puedo comprar una bebida.

1. Inicio
2. Voy a la tienda
3. Solicito una bebida de 500 pesos
4. ¿Tengo suficiente dinero?
                 Si la respuesta es sí.
                               Compro la bebida
                 Si la respuesta es no.
                                No puedo comprarla
5. Fin

Este algoritmo, es un poco diferente al que había visto con anterioridad, ya que este presenta o muestra una condición. La condición si tengo o no suficiente dinero para comprar la bebida. Si tengo suficiente dinero, la puedo comprar, en caso contrario, no la puedo comprar.
En este caso, el flujo del algoritmo puede tomar dos caminos distintos dependiendo de las condiciones. Como dije antes, esa condición depende si cuento o no con suficiente dinero.
Imaginar el flujo del algoritmo, como el flujo del agua que lleva un rio. El agua seguirá su curso a menos que se encuentre con algo en el camino que haga cambiar su dirección.
Para representar los algoritmos de una manera gráfica, con la finalidad de facilitar su entendimiento o lectura, se inventaron diagramas, los cuales fueron bautizados como “Diagramas de flujo”.
El algoritmo anterior, en un diagrama de flujo se vería así:


 Con el diagrama, es un poco más sencillo saber qué hace el algoritmo.

 Eso es todo por ahora, pronto pondré nuevo contenido durante esta semana. Saludos






Gustavo J. Cerda Nilo

Junio 2015. Última modificación, Febrero 2016



 

No hay comentarios:

Publicar un comentario

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...