A lo largo de nuestra vida cotidiana nos encontramos en diversas situaciones en las que es necesario reflexionar sobre nuestras decisiones para resolver algún tipo de problemática. Por lo que es muy probable que alguna vez hayas escuchado la palabra "problema", que no es mas que una situación de conflicto. Ante el cual la opción mas sensata es resolverlo.
Así mismo en informática existen una gran cantidad de acciones e instrucciones para resolver un "problema" en especifico, a este conjunto de instrucciones se le conoce como algoritmo.
Un algoritmo no es mas que un conjunto de pasos secuenciales y ordenados que permiten lograr un objetivo.
Este algoritmo debe cumplir con ciertas características para cumplir con su propósito, algunas características son:
- Un algoritmo siempre debe resolver el problema para el que fue formulado. Por obvias razones no es de utilidad un algoritmo que no cumpla su objetivo; en ocasiones los programadores crean algoritmos que resuelven problemas distintos al planeado. De ser el caso siempre se deben mostrar los datos iniciales y el resultado.
- Independencia de un computador. Los algoritmos se escriben para ser utilizados en cualquier tipo de maquina.
- Ser precisos. El resultado debe ser exacto, por ende el algoritmo debe contar con pasos claros, precisos y no ambiguos, y no solo aproximar la solución.
- Pasos secuenciales. Los pasos que conforman un algoritmo deben ser ejecutados uno después de otro de manera ordenada.
- Debe ser finito. No se permiten situaciones en las que el algoritmo no alcance una solución. Es necesario tiempo de finalización.
- Poder repetirlos. El algoritmo debe tener la capacidad de resolver el problema, aun cuando los datos de entrada cambien.
Estos diagramas utilizan símbolos con significados con significados definidos que representan los pasos de un algoritmo, representa el flujo de ejecución conectando el punto del principio y el del final.
Se puede entender como diagrama al modelo de secuencia de acciones y condiciones dentro de un proceso.