12.07.2015 Views

Introducción a la metodología de diseño descendente

Introducción a la metodología de diseño descendente

Introducción a la metodología de diseño descendente

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • P05/75062/00112 29 <strong>Introducción</strong> a <strong>la</strong> <strong>metodología</strong> <strong>de</strong> <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nteResumenEn este último módulo hemos introducido <strong>la</strong> <strong>metodología</strong> <strong>de</strong> <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>ntepara refinamientos sucesivos, que nos permite diseñar algoritmos queresuelven problemas más complejos y cercanos a <strong>la</strong> realidad.Como hemos observado, <strong>la</strong> base <strong>de</strong> aplicación <strong>de</strong> esta <strong>metodología</strong> consiste en<strong>de</strong>scomponer el problema complejo, mediante <strong>la</strong> abstracción, en subproblemasin<strong>de</strong>pendientes y más sencillos <strong>de</strong> resolver.Ahora, por lo tanto, po<strong>de</strong>mos construir a<strong>de</strong>cuadamente los algoritmos que resuelvanproblemas complejos. Ya disponemos <strong>de</strong> todos los recursos necesarios:por un <strong>la</strong>do, tenemos <strong>la</strong>s herramientas –el lenguaje algorítmico–, y por otro, <strong>la</strong><strong>metodología</strong> que nos enseña cómo utilizar<strong>la</strong>s.En cuanto consigamos <strong>la</strong> suficiente <strong>de</strong>streza en <strong>la</strong> aplicación <strong>de</strong> <strong>la</strong> <strong>metodología</strong>y el uso <strong>de</strong> <strong>la</strong>s herramientas <strong>de</strong>l lenguaje algorítmico, habremos alcanzado uno<strong>de</strong> los objetivos básicos que proponemos al principio <strong>de</strong> <strong>la</strong> asignatura: apren<strong>de</strong>ra diseñar e implementar algoritmos correctos, inteligibles, eficientes y generalesque resuelvan los problemas p<strong>la</strong>nteados. O, dicho <strong>de</strong> otro modo, apren<strong>de</strong>r a programar<strong>de</strong> forma profesional; es <strong>de</strong>cir, con eficiencia (en un tiempo razonable) yeficacia (que el resultado responda a los objetivos pedidos). A medida que vayamosresolviendo problemas, iremos adquiriendo esta <strong>de</strong>streza.Cada vez que nos enfrentemos al <strong>diseño</strong> <strong>de</strong> un algoritmo que <strong>de</strong>be resolver unproblema, será necesario seguir <strong>la</strong>s pautas que os hemos recomendado y que recordamosahora: enten<strong>de</strong>r el enunciado, p<strong>la</strong>ntear <strong>la</strong> solución, formu<strong>la</strong>r<strong>la</strong> y, finalmente,evaluar<strong>la</strong>.Notad que...... dado el carácter incremental<strong>de</strong> <strong>la</strong> materia, estas pautasson al mismo tiempo unasíntesis <strong>de</strong> todo lo que hemosaprendido mediante los módulosy, por lo tanto, un buenresumen final.1. Enten<strong>de</strong>r el enunciadoCuando leamos por primera vez el enunciado, sabremos si correspon<strong>de</strong> a unproblema al que es necesario aplicar <strong>la</strong> <strong>metodología</strong> <strong>de</strong> <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nte,cuando los objetos <strong>de</strong>l problema o los objetivos que el enunciado proponealcanzar no se pue<strong>de</strong>n expresar fácilmente en términos <strong>de</strong> tipos, acciones yfunciones elementales <strong>de</strong> <strong>la</strong> notación algorítmica, posiblemente a causa <strong>de</strong>una cantidad excesiva <strong>de</strong> <strong>de</strong>talles que hay que tener en cuenta. Si éste es elcaso, <strong>de</strong>beremos encontrar <strong>la</strong>s abstracciones que hacen más abordable unenunciado tan lleno <strong>de</strong> <strong>de</strong>talles, y a partir <strong>de</strong> aquí lo releeremos teniendopresente <strong>la</strong>s abstracciones elegidas, sin consi<strong>de</strong>rar los <strong>de</strong>talles que están por<strong>de</strong>bajo <strong>de</strong> estas abstracciones y <strong>de</strong> los que ya nos ocuparemos en posterioresniveles <strong>de</strong> <strong>de</strong>scomposición.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!