Algoritmo y diagrama de flujo
¿Que es el Algoritmo?
Los algoritmos generalmente se asocian al ámbito matemático, no necesariamente implica que sean exclusivos de esta área. Se puede entender un algoritmo como una secuencia de pasos finitos bien definidos que resuelven un problema. Por ejemplo, la ejecución de tareas cotidianas tan simples como cepillarse los dientes, lavarse las manos o seguir el manual de instrucciones de armado de un mueble, se pueden ver como un algoritmo.
Desde el punto de vista informático un algoritmo es cualquier procedimiento computacional bien definido que parte de un estado inicial y un valor o un conjunto de valores de entrada, a los cuales se les aplica una secuencia de pasos computacionales finitos, produciendo una salida o solución. Se puede considerar al algoritmo como una herramienta para resolver un cálculo computacional bien especificado.
Según el criterio utilizado se aplican diferentes clasificaciones a los algoritmos. Por ejemplo, si usamos la clasificación por el sistema de signos con el cual se describen los pasos a seguir del algoritmo, podemos diferenciar dos tipos, algoritmos cualitativos: aquellos que sus pasos son instrucciones verbales y algoritmos cuantitativos: aquellos que se siguen instrucciones de cálculos numéricos.
Si se clasifican en base a su función se pueden establecer tres grupos principales como son los algoritmos de búsqueda, algoritmos de ordenamiento y algoritmos de encaminamiento o enrutamiento.
El tercer criterio que puede usarse para su clasificación es en base a su estrategia para alcanzar un resultado. En este grupo podemos mencionar a los algoritmos probabilísticos, heurísticos, voraces, de escalada y deterministas.
Un análisis detallado de los principales tipos de algoritmos se estudia durante la carrera de Ingeniería en Informática de Facultad de Ingeniería de UDE, más precisamente en el curso de “Análisis de Algoritmos”.
¿Que es un diagrama de Flujo?
Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia. Pueden variar desde diagramas simples y dibujados a mano hasta diagramas exhaustivos creados por computadora que describen múltiples pasos y rutas. Si tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son uno de los diagramas más comunes del mundo, usados por personas con y sin conocimiento técnico en una variedad de campos. Los diagramas de flujo a veces se denominan con nombres más especializados, como "diagrama de flujo de procesos", "mapa de procesos", "diagrama de flujo funcional", "mapa de procesos de negocios", "notación y modelado de procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están relacionados con otros diagramas populares, como los diagramas de flujo de datos (DFD) y los diagramas de actividad de lenguaje unificado de modelado (UML).
Como una representación visual del flujo de datos, los diagramas de flujo son útiles para escribir un programa o algoritmo y explicárselo a otros o colaborar con otros en el mismo. Puedes usar un diagrama de flujo para explicar detalladamente la lógica detrás de un programa antes de empezar a codificar el proceso automatizado. Puede ayudar a organizar una perspectiva general y ofrecer una guía cuando llega el momento de codificar. Más específicamente, los diagramas de flujo pueden:
Demostrar cómo el código está organizado.
Visualizar la ejecución de un código dentro de un programa.
Mostrar la estructura de un sitio web o aplicación.
Comprender cómo los usuarios navegan por un sitio web o programa.
A menudo, los programadores pueden escribir un pseudocódigo, una combinación de lenguaje natural y lenguaje informático que puede ser leído por personas. Esto puede permitir más detalle que el diagrama de flujo y servir como reemplazo del diagrama de flujo o como el próximo paso del código mismo.
Alexander Clavijo Oseguera
Comentarios
Publicar un comentario