Está en la página 1de 4

Existen dos principales tecnicas de diseo de algoritmos de

programacin, el Top Down y el Bottom Up.


Por Wilder Urbaez
Atencin: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Top Down
Tambin conocida como de arriba-abajo y consiste en establecer una serie de niveles de
mayor a menor complejidad (arriba-abajo) que den solucin al problema. Consiste en
efectuar una relacin entre las etapas de la estructuracin de forma que una etapa jerrquica
y su inmediato inferior se relacionen mediante entradas y salidas de informacin. Este diseo
consiste en una serie de descomposiciones sucesivas del problema inicial! que recibe el
refinamiento pro"resivo del repertorio de instrucciones que van a formar parte del pro"rama.
#a utili$acin de la tcnica de diseo Top-%o&n tiene los si"uientes objetivos bsicos'
(implificacin del problema y de los subpro"ramas de cada descomposicin.
#as diferentes partes del problema pueden ser pro"ramadas de modo independiente
e incluso por diferentes personas.
El pro"rama final queda estructurado en forma de bloque o mdulos lo que )ace mas
sencilla su lectura y mantenimiento.
Bottom Up
El diseo ascendente se refiere a la identificacin de aquellos procesos que necesitan
computari$arse con forme vayan apareciendo! su anlisis como sistema y su codificacin! o
bien! la adquisicin de paquetes de soft&are para satisfacer el problema inmediato.
Cuando la pro"ramacin se reali$a internamente y )aciendo un enfoque ascendente! es dif*cil
lle"ar a inte"rar los subsistemas al "rado tal de que el desempeo "lobal! sea fluido. #os
problemas de inte"racin entre los subsistemas son sumamente costosos y muc)os de ellos
no se solucionan )asta que la pro"ramacin alcan$a la fec)a limite para la inte"racin total
del sistema. En esta fec)a! ya se cuenta con muy poco tiempo! presupuesto o paciencia de
los usuarios! como para corre"ir aquellas delicadas interfaces! que en un principio! se
i"noran. +unque cada subsistema parece ofrecer lo que se requiere! cuando se contempla al
sistema como una entidad "lobal! adolece de ciertas limitaciones por )aber tomado un
enfoque ascendente.
,no de ellos es la duplicacin de esfuer$os para acceder el soft&are y mas a-n al introducir
los datos.
.tro es! que se introducen al sistema muc)os datos carentes de valor.
,n tercero y tal ve$ el mas serio inconveniente delenfoque ascendente! es que los objetivos
"lobales de la or"ani$acin no fueron considerados y en consecuencia no se satisfacen.
Entonces
#a diferencia entre estas dos tcnicas de pro"ramacin se fundamenta en el resultado que
presentan frente a un problema dado.
/ma"ine una empresa! la cual se compone de varios departamentos (contabilidad! mercadeo!
0)! en cada uno de ellos se fueron presentando problemas a los cuales se le dieron una
solucin basados en un enfoque ascendente (1ottom ,p)' creando pro"ramas que satisfac*an
slo el problema que se presentaba.
Cuando la empresa decidi inte"rar un sistema "lobal para suplir todas las necesidades de
todos los departamentos se dio cuenta que cada una de las soluciones presentadas no era
compatible la una con la otra! no representaba una "lobalidad! caracter*stica principal de los
sistemas.
Como no )ubo un previo anlisis! diseo de una solucin a nivel "lobal en todos sus
departamentos! centrali$acin de informacin! que son caracter*sticas propias de un diseo
%escendente (Top %o&n) y caracter*sticas fundamentales de los sistemas2 la empresa no
pudo satisfacer su necesidad a nivel "lobal.
#a creacin de al"oritmos es basado sobre la tcnica descendente! la cual brinda el diseo
ideal para la solucin de un problema.
Fases para la Resolucin de ro!lemas
En esta seccin descri!ire !re"emente las #ases o pasos a seguir para la resolucin de
pro!lemas con ayuda de la computadora.
Anlisis del Problema
Esta fase requiere una clara definicin donde se contemple e3actamente lo que debe )acer el
pro"rama y el resultado o solucin deseada.
%ado que se busca una solucin se precisan especificaciones de entrada y salida.
4ara poder definir bien un problema es conveniente responder a las si"uientes pre"untas'
56u entradas se requieren7 (cantidad y tipo)
5Cul es la salida deseada7 (cantidad y tipo)
56u mtodo produce la salida deseada7
Diseo del Algoritmo
En la fase de anlisis en el proceso de pro"ramacin se determina que )ace el pro"rama. En la
fase de diseo se determina como )ace el pro"rama la tarea solicitada.
#os mtodos utili$ados para el proceso del diseo se basan en el conocido divide y vencers. Es
decir la resolucin de un problema complejo se reali$a diviendo el problema en subproblemas y a
continuacin dividir estos subproblemas en otros de nivel mas bajo! )asta que sea implementada
una solucin en la computadora. Este mtodo se conoce tecnicamente como diseo descendente
(top-do&n) o modular.
Cada pro"rama bien diseado consta de un pro"rama principal (el mdulo de nivel mas alto) que
llama a subpro"ramas (mdulos) de nivel mas bajo! que a su ve$ pueden llamar a otros
subpro"ramas.
#os mdulos pueden ser planeados! codificados! comprobados y depurados independientemente y
a continuacin combinarlos entre s*. Este proceso implica la ejecucin de estos pasos )asta que el
pro"rama se )a terminado'
4ro"ramar un mdulo
comprobar el mdulo
(i es necesario! depurar el mdulo
Combinar el mdulo! con el resto de los otros mdulos
El diseo del al"oritmo es independiente del len"uaje de pro"ramacin en el que se vaya a
codificar posteriormente.
Implementacin del Algoritmo
4ara implementar un al"oritmo en la computadora! se debe ejecutar los si"uientes pasos'
Codificacin
Compilacin y ejecucin
8erificacin
%epuracin
%ocumentacin
Codificacin' Es la escritura en un len"uaje de pro"ramacin de la representacin de un al"oritmo.
%ado que el diseo del al"oritmo es independiente del len"uaje de pro"ramacin utili$ado en su
implementacin! el cdi"o puede ser escrito con i"ual facilidad en un len"uaje o en otro.
Compilacin y ejecucin' ,na ve$ que el al"oritmo se )a convertido en un pro"rama fuente! es
preciso introducirlo en memoria mediante el teclado y almacenarlo posteriormente en un disco.
Esta operacin se reali$a con un editor de te3to! posteriormente el pro"rama fuente se convierte
en un arc)ivo de pro"rama que se "uarda en un disco.
El pro"rama fuente debe ser traducido a len"uaje mquina. Este proceso se reali$a con el
compilador y el sistema operativo que se encar"a practicamente de la compilacin. (i al compilar
el pro"rama fuente se presentan errores (errores de compilacin)! es necesario volver a editar el
pro"rama! corre"ir los errores y compilar de nuevo. Esto se repite )asta que ya no se presenten
mas errores! obteniendose el pro"rama objeto! el cual todav*a no es ejecutable directamente. +l
ya no e3istir errores en el pro"rama fuente se debe instruir al sistema operativo para que efectue
la fase de montaje o enlace! del pro"rama fuente con las librerias del pro"rama del compilador.
Este proceso de montaje produce un pro"rama ejecutable.
Cuando se )a creado un pro"rama ejecutable este se puede ya ejecutar desde el sistema
operativo con solo teclear su nombre.
(uponiendo que no e3isten errores durante la ejecucin (errores en tiempo de ejecucin)! se
obtendr la salida de resultados correctos del pro"rama.
9esolucin de 4roblemas /ndice :ases para la resolucin ;cont..<

También podría gustarte