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

12.07.2015 Views

© FUOC • P05/75062/00112 5 Introducción a la metodología de diseño descendenteIntroducciónEn este módulo aprenderemos a desarrollar algoritmos para problemas máscomplicados que los que hemos visto hasta ahora. No introduciremos ningúnelemento más del lenguaje algorítmico. Lo que haremos, en todo caso, es madurarel uso que daremos a algunos de los elementos, como por ejemplo la declaraciónde acciones, las funciones y la definición de nuevos tipos. Dicho deotro modo, aquí propondremos una metodología por la cual llegaremos, si laseguimos, al diseño de algoritmos correctos e inteligibles que solucionan enunciadosmás complejos.Pensad que...... el seguimiento de la metodologíaque propondremos servirápara que nuestros diseños sehagan en un tiempo de desarrollomínimamente razonable,de modo que aumente nuestrogrado de eficacia al producir algoritmoscorrectos. Recordadlos objetivos que nos habíamospropuesto en el módulo “Introduccióna la programación”.Hasta ahora nos hemos dedicado, por un lado, a aprender la sintaxis y la semánticade los elementos del lenguaje algorítmico. Con la resolución de problemassencillos hemos desarrollado la destreza al expresar nuestros algoritmos de formaclara y no ambigua. A pesar de ello, para diseñar nuestros primeros algoritmoshemos estudiado unas pautas metodológicas basadas en la aplicación de losesquemas de tratamiento secuencial. El uso de estos esquemas nos ayuda a evitarerrores típicos en los que podemos caer, así como a formular algoritmos inteligibles.Así pues, la metodología que se imparte en este curso no es exclusiva de estemódulo, sino que en los módulos anteriores ya se ha propuesto de forma progresivauna metodología que hay que seguir para problemas más sencillos quelos que encontraremos a partir de este momento. Sin embargo, todo lo que hemosaprendido gracias a estos problemas más sencillos nos servirá tambiénpara los problemas complejos que propondremos más adelante.Los problemas sencillos que hemos estado resolviendo se caracterizan por teneruna solución que utiliza un número razonable de elementos básicos dellenguaje algorítmico.Los enunciados de los problemas sencillos hacen referencia a objetosque están muy cercanos a los tipos elementales de lenguaje o que sondirectamente representables por éstos.El tratamiento que hay que aplicar a estos objetos se puede alcanzar con unaspocas asignaciones y con algunas construcciones algorítmicas. El resultado finales un algoritmo comprensible y legible en términos de los elementos básicosdel lenguaje algorítmico.

© FUOC • P05/75062/00112 5 <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>nte<strong>Introducción</strong>En este módulo apren<strong>de</strong>remos a <strong>de</strong>sarrol<strong>la</strong>r algoritmos para problemas máscomplicados que los que hemos visto hasta ahora. No introduciremos ningúnelemento más <strong>de</strong>l lenguaje algorítmico. Lo que haremos, en todo caso, es madurarel uso que daremos a algunos <strong>de</strong> los elementos, como por ejemplo <strong>la</strong> <strong>de</strong>c<strong>la</strong>ración<strong>de</strong> acciones, <strong>la</strong>s funciones y <strong>la</strong> <strong>de</strong>finición <strong>de</strong> nuevos tipos. Dicho <strong>de</strong>otro modo, aquí propondremos una <strong>metodología</strong> por <strong>la</strong> cual llegaremos, si <strong>la</strong>seguimos, al <strong>diseño</strong> <strong>de</strong> algoritmos correctos e inteligibles que solucionan enunciadosmás complejos.Pensad que...... el seguimiento <strong>de</strong> <strong>la</strong> <strong>metodología</strong>que propondremos servirápara que nuestros <strong>diseño</strong>s sehagan en un tiempo <strong>de</strong> <strong>de</strong>sarrollomínimamente razonable,<strong>de</strong> modo que aumente nuestrogrado <strong>de</strong> eficacia al producir algoritmoscorrectos. Recordadlos objetivos que nos habíamospropuesto en el módulo “<strong>Introducción</strong>a <strong>la</strong> programación”.Hasta ahora nos hemos <strong>de</strong>dicado, por un <strong>la</strong>do, a apren<strong>de</strong>r <strong>la</strong> sintaxis y <strong>la</strong> semántica<strong>de</strong> los elementos <strong>de</strong>l lenguaje algorítmico. Con <strong>la</strong> resolución <strong>de</strong> problemassencillos hemos <strong>de</strong>sarrol<strong>la</strong>do <strong>la</strong> <strong>de</strong>streza al expresar nuestros algoritmos <strong>de</strong> formac<strong>la</strong>ra y no ambigua. A pesar <strong>de</strong> ello, para diseñar nuestros primeros algoritmoshemos estudiado unas pautas metodológicas basadas en <strong>la</strong> aplicación <strong>de</strong> losesquemas <strong>de</strong> tratamiento secuencial. El uso <strong>de</strong> estos esquemas nos ayuda a evitarerrores típicos en los que po<strong>de</strong>mos caer, así como a formu<strong>la</strong>r algoritmos inteligibles.Así pues, <strong>la</strong> <strong>metodología</strong> que se imparte en este curso no es exclusiva <strong>de</strong> estemódulo, sino que en los módulos anteriores ya se ha propuesto <strong>de</strong> forma progresivauna <strong>metodología</strong> que hay que seguir para problemas más sencillos quelos que encontraremos a partir <strong>de</strong> este momento. Sin embargo, todo lo que hemosaprendido gracias a estos problemas más sencillos nos servirá tambiénpara los problemas complejos que propondremos más a<strong>de</strong><strong>la</strong>nte.Los problemas sencillos que hemos estado resolviendo se caracterizan por teneruna solución que utiliza un número razonable <strong>de</strong> elementos básicos <strong>de</strong>llenguaje algorítmico.Los enunciados <strong>de</strong> los problemas sencillos hacen referencia a objetosque están muy cercanos a los tipos elementales <strong>de</strong> lenguaje o que sondirectamente representables por éstos.El tratamiento que hay que aplicar a estos objetos se pue<strong>de</strong> alcanzar con unaspocas asignaciones y con algunas construcciones algorítmicas. El resultado finales un algoritmo comprensible y legible en términos <strong>de</strong> los elementos básicos<strong>de</strong>l lenguaje algorítmico.

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

Saved successfully!

Ooh no, something went wrong!