Información de interes...

Este BLOG tiene como finalidad divulgar, orientar y generar un espacio virtual de participación relacionado con la algorítmica y la programación. Diseñadores: Participantes (comunidad educativa) de la Sección I03-031 adscritos al Programa Nacional de Formación en Informática del Colegio Universitario Francisco de Miranda. Nota de los diseñadores: Toda la información recabada y suministrada en este blog es de carácter académico; en tal sentido, la que no es de autoria propia de los diseñadores refleja o indica la fuente de origen a fin de reconocer y agradecer por este medio los aportes teóricos y prácticos que nos han suministrados todas esas personas que de alguna u otra manera son colaboradores anónimos.

miércoles, 30 de marzo de 2011

Estándares de Calidad en el Diseño de Algoritmos y Construcción de Programas

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 en la entrada