viernes, 23 de octubre de 2009

Algoritmo

Implementación de algoritmos

En programación, los algoritmos se implementan en forma de sentencias en algún lenguaje de programación. De esta manera, la forma de escribir los algoritmos depende del lenguaje de programación, y del paradigma usado. Estos son los algoritmos que pueden ser interpretados por una computadora y así ser ejecutados.

Los algoritmos también pueden representarse gráficamente empleando diagramas de flujo o formas similares. De esta manera, son fácilmente comprensibles, especialmente para personas que no son programadores. También, de esta manera, los algoritmos son más "universales", pues no dependen de un lenguaje de programación específico.

Los algoritmos también pueden escribirse en pseudocódigo, lo que también los hace fáciles de entender.

Se hacen intentos para que las computadoras interpreten y ejecuten los diagramas de flujo y los pseudocódigos, pero no logran la flexibilidad, potencia y velocidad de los algoritmos puramente escritos en un lenguaje de programación específico.

Un algoritmo también puede expresarse en lenguaje natural, aunque esto puede traer ambigüedades e interpretaciones erróneas (la ambigüedad es propia del lenguaje humano).

Algoritmos en programación

Un programa de computadora es un algoritmo que le dice a la computadora los pasos específicos para llevar acabo una tarea. Los algoritmos son rigurosamente definidos para que la computadora pueda interpretarlos. El orden en que se ejecuta cada uno de los pasos que constituyen un algoritmo es fundamental. El orden más básico es de arriba hacia abajo, ejecutándose una instrucción tras otra de un código. Pero un algoritmo puede variar en su flujo u orden de ejecución de pasos dependiendo de los valores de inicio o que entran durante su ejecución. El flujo es manejado por las estructuras de control.

Algunos autores consideran que el flujo de ejecución de un algoritmo debe detenerse correctamente alguna vez, y que esto forma parte de la definición de algoritmo. En tanto, otros no lo consideran así.

Algoritmos predefinidos

Existen algoritmos ya definidos matemáticamente que son muy eficientes, como los algoritmos de búsqueda o el algoritmo de Dijkstra, y suelen ser tomados por otros programadores para utilizarlos dentro de sus propios códigos.

Concepto de Diagrama de Flujo

Los diagramas de flujo (o flujogramas) son diagramas que emplean símbolos gráficos para representar los pasos o etapas de un proceso. También permiten describir la secuencia de los distintos pasos o etapas y su interacción.
Las personas que no están directamente involucradas en los procesos de realización del producto o servicio, tienen imágenes idealizadas de los mismos, que pocas veces coinciden con la realidad.
La creación del diagrama de flujo es una actividad que agrega valor, pues el proceso que representa está ahora disponible para ser analizado, no sólo por quienes lo llevan a cabo, sino también por todas las partes interesadas que aportarán nuevas ideas para cambiarlo y mejorarlo.

Ventajas de los Diagramas de Flujo

* Favorecen la comprensión del proceso a través de mostrarlo como un dibujo. El cerebro humano reconoce fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto.
* Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos redundantes, los flujos de los reprocesos , los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.
* Muestran las interfases cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas.
* Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea, cuando se realizan mejoras en el proceso.
¿Qué Símbolos se Emplean en los Diagramas de Flujo?
Los símbolos tienen significados específicos y se conectan por medio de flechas que indican el flujo entre los distintos pasos o etapas.
Los símbolos más comunes son :


Desarrollo del Diagrama de Flujo
Las siguientes son acciones previas a la realización del diagrama de flujo :
* Identificar a los participantes de la reunión donde se desarrollará el diagrama de flujo. Deben estar presentes el dueño o responsable del proceso, los dueños o responsables del proceso anterior y posterior y de otros procesos interrelacionados, otras partes interesadas.
* Definir que se espera obtener del diagrama de flujo.
* Identificar quién lo empleará y cómo.
* Establecer el nivel de detalle requerido.
* Determinar los límites del proceso a describir.
Los pasos a seguir para construir el diagrama de flujo son :
* Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.
* Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.
* Si el nivel de destalle definido incluye actividades menores, listarlas también.
* Identificar y listar los puntos de decisión.
* Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
* Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.

Ejemplo : Reparación de la PC

MACRO
Cuando se desarrolla el diagrama de flujo es importante considerar el tipo y cantidad de información requerida por el usuario del mismo.
Probablemente la dirección de la empresa no esté interesada en los detalles y le sea suficiente una descripción genérica del proceso. Este es el caso del ejemplo anterior, un diagrama de flujo a nivel macro.
En cambio, si el objetivo del diagrama es la capacitación de nuevos empleados o la búsqueda de oportunidades de mejora, será necesario disponer de una descripción detallada del proceso y hablamos de un diagrama de flujo a nivel micro, como muestra el ejemplo siguiente.
Entre ambos niveles, el macro y el micro, se ubican los diagramas con una cantidad media de detalles.

MICRO
Conclusiones
Los diagramas de flujo son una herramienta valiosa para la mejora de los procesos, permiten detectar las actividades que agregan valor y aquéllas que son redundantes o innecesarias.
También son de gran utilidad durante el desarrollo de la documentación de los Sistemas de Gestión, pues proveen una descripción de los procesos y un detalle de las operaciones mucho másamigable que los procedimientos e instructivos basados en texto.
Contribuyen a resolver uno de los principales problemas, que es la resistencia del personal a emplear los documentos como referentes para el desempeño de las tareas. Una copia ampliada del diagrama de flujo al alcance de los operadores del proceso facilita la consulta y promueve la creatividad.
Es conveniente emplear programas específicos para la confección de los diagramas de flujo. En general, estos programas son de manejo sencillo y facilitan notablemente la tarea.

No hay comentarios:

Publicar un comentario