Fundamentos de programación

Introducción a la algoritmia 

La algoritmia es el “arte” de identificar y disponer los pasos necesarios, para realizar una tarea, en forma secuencial. ¿Qué significa esto y para qué sirve?. 
Aunque los computadores pueden realizar una cantidad de cálculos tan grande (billones de operaciones por segundo), no son, lo que se podría llamar: inteligentes, a diferencia de las personas (normalmente. ;-D). Por tal motivo ningún computador realiza acción alguna sin que antes se le hayan dado todos y cada uno de los pasos que debe ejecutar para realizar la tarea y, además, estos pasos deben tener el orden correcto. 

Image courtesy of ArtJSan - FreeDigitalPhotos.net
Entonces, para que un algoritmo pueda representar la realización de una tarea se debe tener 2 cosas: 
1) Todos los pasos necesarios 
2) Los pasos deben estar en un orden correcto 

Por ejemplo, se quiere representar mediante un algoritmo las acciones que realiza una persona desde que se levanta en la mañana, hasta que se ducha para salir al trabajo.  
Opción 1
Paso 1: Levantarse 
Paso 2: Caminar hacia el baño 
Paso 3: Abrir la llave 

Para algunas personas esto puede presentar perfectamente la tarea, sin embargo, para un computador NO, ¿por qué?, simple, si se realizan los pasos anteriores podría ocurrir que la persona se duche sin quitarse la pijama (a no ser que duerma desnudo o desnuda). También podría ser que la tarea esté inconclusa ya que en ningún momento se ha indicado que la persona haya entrado a la zona de la ducha.  

Opción 2
Paso 1: retirar las mantas o cobijas 
Paso 2: levantarse de la cama 
Paso 3: Caminar hacia el baño 
Paso 4: abrir la llave de la ducha (del agua caliente)
Paso 5: desnudarse 
Paso 6: acercarse a la ducha y tocar el agua con la punta de un pie 
Paso 7: esperar a que el agua adquiera la temperatura apetecida 
Paso 8: Ponerse bajo la ducha 

Como se puede ver el nivel de detalle de la opción 2, es mucho más alto y, por tanto, la incertidumbre o el margen de realizar la tarea de forma incorrecta, es menor. 

Diagramas de flujo

Un diagrama de flujo es la forma en la que se puede representar de forma gráfica un algoritmo. Esto es de gran utilidad ya que permite representar las tareas en una forma que puede ser más natural para las personas no expertas. 

Al igual que cuando se va en un vehículo se pueden ver diferentes señales y dichas señales tienen un significado concreto, en los diagramas de flujo existen unas cuantas figuras (aunque depende en muchos casos del diseñador normalmente son pocas), que tienen un significado en concreto. Normalmente o las más comúnmente utilizadas son: 


También podrían existir otros específicos para las tareas de un computador como: imprimir en pantalla, capturar de teclado, o incluso actividades repetitivas Sin embargo, es posible con solo los 3 iniciales, representar cualquier tarea; tan solo basta con unir los símbolos mediante líneas. Es justamente en esta simplicidad donde radica el potencial de los diagramas de flujo. 

El siguiente ejemplo representaría las acciones que realiza una persona en la mañana entre que se despierta y se ducha. 

No hay comentarios:

Publicar un comentario

Programación Orientada a Objetos (POO - en inglés OOP)

Image courtesy of digitalart - FreeDigitalPhotos.net La programación orientada a objetos es un paradigma o un modelo de programación qu...