Tecnicas de desarrollo de algoritmos
Diseño Descendiente
No hay un método general para encontrar el algoritmo para un problema. Es una cuestión de experiencia e ingenio.
Existen varios métodos sobre proceder para realizar el algoritmo. Uno de los más importantes es el diseño descendiente.
Consiste en descomponer un problema en subproblemas más sencillos. Este proceso se puede repetirsucesivamente sobre cada subproblema.
El problema está dividido en módulos, cada uno de los cuales resuelve una parte del problema.
Para cada módulo debe de estar perfectamente claro que tarea ha de realizar, así como sus datos de entrada y sus datos de salida.
La solución de un problema comienza con una descomposición modular y luego nuevas descomposiciones de cada módulo en un proceso denominadorefinamiento sucesivo.
EJEMPLO. Leer el radio de un círculo y calcular e imprimir su área y perímetro. Realizar el análisis y el algoritmo.
Análisis.
La descomposición modular de un problema, mediante subproblemas más pequeños, se observa en el siguiente diagrama.
Algoritmo
1. Inicio
2. Leer el valor del radio
3. Calcular la superficie
4. Calcular la longitud
5. Visualizar los valoresde superficie y longitud
6. Fin
Refinación progresiva de solución
Una vez dividido el problema, se procede a realizar una descripción mas detallada con pasos específicos. A este proceso se le conoce como refinamiento de algoritmo.
Refinamiento del algoritmo anterior:
Después del diseño descendiente y refinamiento del algoritmo, es preciso presentar el algoritmo mediante un lenguajealgorítmico, el cual consiste en una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
No gráficos: representa en forma descriptiva las operaciones que debe realizar un algoritmo (seudocódigo).
Seudocódigo y diagramas de flujo
Para representar un algoritmo sedebe de utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación que se va a elegir. Ello permitiría que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje de programación. Para conseguir este objetivo, se precisa que el algoritmo sea representado gráficamente de modo que las sucesivas acciones no dependan de la sintaxis de ningún lenguajede programación, sino que la descripción pueda servir fácilmente para su trasformación en un programa, es decir, su codificación.
Existen varios métodos de graficar un algoritmo, pero el más usado es el “Diagrama de flujo”.
Un diagrama de flujo es una de las técnicas de representación de algoritmos más antigua y a la vez más utilizada.
Una vez que el problema ha sido identificado y se tiene ideade los procedimientos para resolverlo, se puede proceder a delinear un plan de solución. Una buena manera de definir la solución es expresándola en forma gráfica. Cuando se trata de representar gráficamente la lógica y secuencia de un algoritmo se hace uso de los diagramas de flujo. Un diagrama de flujo es una representación gráfica de los pasos que ha de seguirse para resolver un problema.
Undiagrama de flujo es un registro útil que permite presentare ideas en forma ordenada y clara para utilizarlas con rapidez en cualquier momento. Los diagramas de flujo proporcionan un lenguaje común entre la gente dedicada al campo de la computación.
Básicamente un diagrama de flujo es un conjunto de figuras geométricas conectadas por líneas. Se usan palabras dentro de cada figura para indicarlo que sucede con los datos. Las líneas indican el flujo de la información. Cada una de las figuras representa una etapa en la solución del problema, ejecutándose en forma secuencial, de tal manera que no se pueden procesar dos tapas al mismo tiempo, por ello las figuras están conectadas entre sí con líneas que tienen una flecha que indica la dirección en que los procesos se deben ejecutar....
Regístrate para leer el documento completo.