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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

© FUOC • P05/75062/00112 31 <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• Decidir el esquema que se <strong>de</strong>be aplicar. Es necesario averiguar cuál <strong>de</strong> los esquemasque conocemos (búsqueda y recorrido) nos ayudará a resolver el problema.• Aplicar el esquema elegido al problema concreto, llevando a cabo <strong>la</strong>s adaptacionesconvenientes en cada caso.Es preciso ir con pies <strong>de</strong> plomo a <strong>la</strong> hora <strong>de</strong> aplicar el esquema elegido. Paraestar seguros, es conveniente reflexionar sobre <strong>la</strong>s siguientes cuestiones:• Cómo obtenemos los diferentes elementos <strong>de</strong> <strong>la</strong> secuencia.– Cómo obtener el primer elemento.– Cómo obtener los siguientes.– Cómo <strong>de</strong>tectar el final <strong>de</strong> <strong>la</strong> secuencia.• Cómo hacemos el tratamiento.– I<strong>de</strong>ntificar el tratamiento que correspon<strong>de</strong> para cada elemento.– Definir <strong>la</strong>s variables necesarias.Con frecuencia <strong>de</strong>bemos <strong>de</strong>finir variables para acumu<strong>la</strong>r los resultados que vamosobteniendo a medida que vamos tratando los elementos; estas variables se <strong>de</strong>ben inicializarconvenientemente en el tratamiento inicial.– Decidir si es necesario trabajar con tab<strong>la</strong>s.Si po<strong>de</strong>mos hacer el tratamiento secuencialmente, no <strong>de</strong>finiremos tab<strong>la</strong>s para almacenar(<strong>de</strong> forma parcial o total) los datos <strong>de</strong> <strong>la</strong> secuencia, ya que esto nos limitaría los datosque <strong>de</strong>bemos tratar, y ocuparíamos espacio innecesario. Sin embargo, en caso <strong>de</strong>que tengamos que hacer algún acceso directo sobre (algunos o todos) los datos, <strong>de</strong>beremos<strong>de</strong>finirlos convenientemente.– Determinar si hay que tratar el último elemento.A veces, el último elemento es un elemento no válido que sólo sirve <strong>de</strong> marca para<strong>de</strong>tectar el final <strong>de</strong> <strong>la</strong> secuencia. No obstante, en otros casos, a<strong>de</strong>más <strong>de</strong> ser <strong>la</strong> marcafinal, también es un elemento válido más <strong>de</strong> <strong>la</strong> secuencia y, por lo tanto, hay queprestar atención y aplicarle el mismo tratamiento que al resto. Entonces el esquema<strong>de</strong>be contener este tratamiento haciendo los cambios a<strong>de</strong>cuados.– Decidir si es necesario un tratamiento final.Observar si todavía se <strong>de</strong>be llevar a cabo un tratamiento final para llegar a <strong>la</strong> postcondición,una vez ya tratados todos los elementos <strong>de</strong> <strong>la</strong> secuencia.En el caso <strong>de</strong> que el problema no siga ninguna secuencia, no po<strong>de</strong>mos aplicarlos esquemas <strong>de</strong> recorrido y búsqueda que conocemos; a<strong>de</strong>más, dado que notenemos ningún esquema previo que aplicar, p<strong>la</strong>ntear <strong>la</strong> resolución <strong>de</strong>l problemaconsistirá en <strong>de</strong>scubrir cuáles son <strong>la</strong>s acciones y funciones necesarias

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

Saved successfully!

Ooh no, something went wrong!