Estándares de Calidad en el Diseño de Algoritmos y Construcción de Programas
Integrantes:
Ortiz Jesús
Mata Edsay
La algorítmica es uno de los pilares de la programación y su relevancia se muestra en el desarrollo de cualquier aplicación, más allá de la verdadera construcción de programas.
. La ingeniería del software pretende utilizar los recursos computacionales de tal manera que se produzcan soluciones eficientes y eficaces a los problemas informáticos.
Las Técnicas de Construcción de Programas nos introduce en diversas técnicas elementales que permitirán la implementación de programas con buen desempeño computacional. Es por ello que se pone énfasis en el análisis y diseño de algoritmos. Entre los temas fundamentales tenemos: notación asintótica y recurrencias, las cuales servirán para estudiar diversos algoritmos entre ellos algoritmos de ordenación como heapsort, quicksort y ordenamiento en tiempo lineal, también tenemos ciertas técnicas de string matching y finalmente algunas técnicas como programación dinámica, algoritmos greedy y análisis amortizado.
Diseño de algoritmo
Una vez comprendido el problema se trata de determinar que pasos o acciones tenemos que realizar para resolverlo.
Como criterios a seguir a la hora de dar la solución algorítmica hay que tener en cuenta:
* Si el problema es bastante complicado lo mejor es dividirlo en partes más pequeñas e intentar dividirlo en partes más pequeñas e intentar resolverlas por separado. Esta metodología de “divide y vencerás” también se conoce con el nombre de diseño descendente.
Las ventajas de aplicar esto son:
* Al dividir el problema en módulos o partes se comprende más fácilmente.
* Al hacer modificaciones es más fácil sobre un módulo en particular que en todo el algoritmo.
Una segunda filosofía a la hora de diseñar algoritmos es el refinamiento por pasos, y es partir de una idea general e ir concretando cada vez más esa descripción hasta que tengamos algo tan concreto para resolver. Pasamos de lo más complejo a lo más simple.
FORMULACIÓN Y ANÁLISIS DEL PROBLEMA
Consiste en entender de qué se trata el problema planteado y esbozar su posible solución, concluyendo con una clara definición de tres aspectos: 1º qué es lo que nos piden, es decir, definición del resultado o solución deseada (para qué). 2º cómo obtener lo que nos piden (qué hacer). 3º qué necesitamos para obtener los resultados pedidos (con qué). Esto último nos facilitará la construcción de lo que denominaremos Especificación Funcional.
Especificación Funcional consiste en determinar las funciones que se van a realizar (qué hacer) y sus respectivas entradas (con qué) y salidas (para qué):
PROCESO -> ENTRADA ->SALIDA
Donde: entrada son los argumentos (variables o constantes) que se requieren para resolver un problema, salida son los resultados (argumentos) que se desean obtener una vez resuelto el problema y proceso es el procedimiento(s) u operación(es) que deben efectuarse sobre las entradas para obtener las salidas deseadas.
No hay comentarios:
Publicar un comentario