¿que es?
En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y éste a su vez del matemático persa Al-Juarismi
) es un conjunto prescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos
sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se
llega a un estado final y se obtiene una solución. Los algoritmos son
el objeto de estudio de la algoritmia.En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema de ecuaciones lineales.
Metodologia de solucion
La metodología que se utiliza para resolver problemas de computacionales consta de 5 etapas que garantizan un resultado correcto a cualquier problema.
1. Identificación del problema
La
identificación del problema es una fase muy importante en la
metodología, pues de ella depende el desarrollo ulterior en busca de la
solución. Un problema bien delimitado es una gran ayuda para que el
proceso general avance bien; un problema mal definido provocará desvíos
conceptuales que serán difíciles de remediar posteriormente. En esta
etapa es fundamental el análisis de la información inicial (entrada) con
el fin de distinguir los datos pertinentes de los que no lo son, de
manera que se pueda elegir la configuración más conveniente respecto a
las soluciones posibles. También deben definirse los datos de salida que
garanticen la continuidad del proceso para que sea más fácil eliminar
las expectativas negativas.
2. Planteamiento de alternativas de solución
Después
de la definición del problema y del análisis de los datos de entrada,
el proceso continúa con el análisis de las alternativas de solución. Por
lo general, la solución de un problema puede alcanzarse por distintas
vías. Es útil tratar de plantear la mayor cantidad de alternativas
posibles de solución, pues de esta forma las probabilidades aumentan a
favor de encontrar la vía correcta. Se debe destacar que no es
conveniente extender demasiado el número de alternativas, pues si el
número de éstas es demasiado alto, se presentará una mayor dificultad
para elegir la mejor de todas, que es en definitiva el objetivo del
proceso.
Después
de tener todo el repertorio de alternativas, es necesario pasar a otra
etapa: la elección de la mejor entre todas las posibilidades. Esta fase
es muy importante porque de la elección realizada depende el avance
final hasta la solución. La orientación hacia delante supone la
irreversibilidad si la decisión es acertada o una "reversibilidad
onerosa", pues si la decisión no es acertada, es necesario retroceder,
lo que afecta la "optimidad" del proceso.
Por
lo tanto, es necesario que cada alternativa sea bien analizada para que
la toma de decisiones sea bien justificada. Deberás elegir la
alternativa que sea la más adecuada para la solución del problema,
tomando en cuenta las características del problema y las características
que deberá tener la solución, así como los elementos, datos o
información con la que cuentas.
4. Desarrollo de la solución
Después
de decidir cuál es la mejor alternativa de todas, se llega a la etapa
de la solución. En esta fase, a partir de los datos relacionados con la
alternativa seleccionada, se aplican las operaciones necesarias para
solucionar el problema. La selección de los procesos también debe ser
determinada en función de la optimidad, es decir, las operaciones deben
llegar a la solución por el camino más corto para garantizar la mayor
eficiencia en el funcionamiento. Si la alternativa es la óptima, llevará
a la solución deseada que fue prevista en la identificación del
problema.
5. Evaluación de la solución
Luego
de haber desarrollado la solución queda aún una etapa, que es la
evaluación. En los procesos industriales a este procedimiento se le
llama control de la calidad y consiste en determinar que la solución
obtenida 'es lo que se esperaba conseguir comprobando que el resultado
sea correcto. En esta fase se deben "pulir" los procesos ya realizados y
tratar de llevarlos a un grado mayor de optimidad, pues el algoritmo
más eficiente en la solución de un problema es el que llega a su
objetivo final con la mayor economía de procedimientos que sea posible. A
continuación, puedes observar un ejemplo de la aplicación de la
metodología a la solución de un problema simple. Es importante saber que
los problemas complejos también se resuelven con esta estructura. Caracteristicas de los algoritmos:
Diagrama de flujo:
El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama de actividades muestra el flujo de control general.
En SysML el diagrama ha sido extendido para indicar flujos entre pasos que mueven elementos físicos (p. ej., gasolina) o energía (p. ej., presión). Los cambios adicionales permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.
Estos diagramas utilizan símbolos con significados definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin del proceso.
Ventajas y desventajas de los diagramas de flujo:
Ventajas de los diagramas de flujo.
- Favorecen la comprensión del proceso al mostrarlo como un dibujo. El cerebro humano reconoce muy 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, los flujos de los re-procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.
- Muestran las interfaces 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.
- Al igual que el pseudocódigo, el diagrama de flujo con fines de análisis de algoritmos de programación puede ser ejecutado en un ordenador, con un IDE como Free DFD.
DESVENTAJAS DE LOS DIAGRAMAS DE FLUJODiagramas complejos y detallados suelen ser laboriosos en su planteamiento y diseñoAcciones a seguir tras la salida de un símbolo de decisión, pueden ser difíciles de seguir si existen diferentes caminosNo existen normas fijas para la elaboración de los diagramas de flujo que permitan incluir todos los detalles que el usuario desee introducir.
Reglas para la contruccion de diagramas de flujo
1. Los diagramas de flujo se escriben de arriba abajo y de izquierda a derecha.
2. Todo símbolo (excepto las líneas de flujo) llevará en su interior información que indique su función exacta y unívoca.
EJEMPLOS

3. Un elemento del diagrama no puede tener más de una salida si no es un elemento de decisión. Existen excepciones que veremos en su debido momento.
EJEMPLOS

4. Las líneas de flujo no pueden cruzarse.
Conceptualizacoin de la solucion
se debe realizar un analisis de la solucion que consiste en una clara definicion del problema,donde se contemple exactamente lo que debe hacer el programa y el resultad o solucion deseada.
