You are on page 1of 10

TCNICAS DE DESARROLLO DE ALGORITMOS

Un Algoritmo es una secuencia ordenada de instrucciones, pasos o procesos que llevan a la solucin de un determinado problema En el mbito de la computacin, los Algoritmos son una herramienta que permite describir claramente un conjunto finito de instrucciones, ordenadas secuencialmente y libres de ambigedad, que debe llevar a cabo un computador para lograr un resultado Previsible.

DISEO DESCENDENTE
Tambin conocida como de arribaabajo 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 progresivo del repertorio de instrucciones que van a formar parte del programa.

El diseo descendente se utiliza en la programacin estructurada de computadores debido a que facilita: La comprensin del problema Las modificaciones en los mdulos La verificacin de la solucin Al realizar divisiones sucesivas del problema en otros ms pequeos y manejables (mdulos), hay que tener cuidado para no perder de vista la comprensin de este como un todo.

ALGORITMO ALGO

MODULO UNO

MODULO DOS

MODULO TRES

Un modulo es un segmento, rutina, subrutina, subalgoritmo o procedimiento, que puede definirse dentro de un algoritmo con el fin de ejecutar una tarea especifica y puede ser llamado o invocado desde el algoritmo principal cuando sea necesario

REFINAMIENTO PROGRESIVO DE LA SOLUCION Cualquier programa bien diseado consta de un programa principal (el modulo de nivel mas alto) que llama a sub programas (mdulos de nivel mas bajo) que a su vez pueden llamar a otros sub programas. Los programas estructurados de esta forma se dice que tienen un diseo modular y el mtodo de romper el programa en mdulos ms pequeo se llama Programacin Modular. Los mdulos pueden ser planeados, codificados, comprobados y depurados independientemente (incluso por diferentes programadores) y a continuacin combinarlos entre si. El proceso implica la ejecucin de los siguientes pasos hasta que el programa se termina: programar modulo. Comprobar el modulo. Si es necesario, depurar el modulo. Combinar el modulo con los mdulos anteriores. El proceso que convierte los resultados del anlisis del problema en un diseo modular con refinamiento sucesivo que permitan una posterior traduccin al lenguaje se denomina diseo de algoritmo

SEUDOCDIGO Y DIAGRAMA DE FLUJO


Para llegar a la realizacin de un programa es necesario el diseo previo de un algoritmo indicando cmo hace el algoritmo la tarea solicitada, y eso se traduce en la construccin de un algoritmo. El resultado final del diseo es una solucin que debe ser fcil de traducir a estructuras de datos y estructuras de control de un lenguaje de programacin especfico. Las dos herramientas ms comnmente utilizadas para disear algoritmos son: diagramas de flujo y pseudocdigos. Diagrama de flujo (flowchart). Representacin grfica de un algoritmo. Pseudocdigo. Lenguaje de especificacin de algoritmos, mediante palabras similares al ingls o espaol.

Los Diagramas de Flujo son una de las tcnicas ms utilizadas para representar grficamente la secuencia de instrucciones de un Algoritmo. Estas instrucciones estn compuestas por operaciones, decisiones lgicas y ciclos repetitivos, entre otros. La solucin de un problema puede contener varios conjuntos de instrucciones (procedimientos o mtodos) que tienen como finalidad ejecutar cada uno de los procesos necesarios para llegar a la solucin de un problema a partir de los datos disponibles (estado inicial). Las ventajas de disear un Diagrama de Flujo antes de empezar a generar el cdigo de un programa (Rojas & acato, 1980) son, entre otras:

Forzar la identificacin de todos los pasos de una solucin de forma clara y lgica;

Establecer una visin amplia y objetiva de la solucin;


Verificar si se han tenido en cuenta todas las posibilidades; Comprobar si hay procedimientos duplicados; Representar grficamente una solucin (es ms simple hacerlo con grficas que mediante palabras); Facilitar a otras personas la comprensin de la secuencia lgica de la solucin planteada; Posibilitar acuerdos con base en la aproximacin comn a una solucin de un problema, resolver ambigedades o realizar mejoras; Establecer posibles modificaciones (resulta ms fcil depurar un programa con el diagrama que con el listado del cdigo); Agilizar la codificacin (traduccin) del algoritmo en un lenguaje de programacin; Servir como elemento de documentacin de la solucin del problema

El seudocdigo est compuesto por proposiciones informales en espaol que permiten expresar
detalladamente las instrucciones que llevan desde un estado inicial (problema) hasta un resultados deseado (solucin). Por lo regular, los algoritmos se escriben por refinamiento: se escribe una primera versin que luego se descompone en varios subproblemas (el nmero depende de la complejidad del problema) independientes entre s. Si es necesario se va refinando cada vez las instrucciones hasta que las proposiciones generales en espaol como las del ejemplo anterior se puedan codificar en el lenguaje seleccionado para hacer la programacin (en el caso de esta gua ser Logo).

EJEMPLO

SIMBOLOGA DE LOS DIAGRAMAS DE FLUJO


La estandarizacin de los smbolos para la elaboracin de Diagramas de Flujo tard varios aos. Con el fin de evitar la utilizacin de smbolos diferentes para representar procesos iguales, la Organizacin Internacional para la Estandarizacin (ISO, por su sigla en ingls) y el Instituto Nacional Americano de Estandarizacin (ANSI, por su sigla en ingls), estandarizaron los smbolos que mayor aceptacin tenan en 1985. Los siguientes son los principales smbolos para elaborar Diagramas de Flujo.
Accin/Proceso General Indica una accin o instruccin general que debe realizar el computador (cambios de valores de variables, asignaciones, operaciones aritmticas, etc.

Salida Impresa Indica la presentacin de uno o varios resultados en forma impresa.

Inicio/Final Se utiliza para indicar el inicio y el final de un diagrama; del Inicio slo puede salir una lnea de flujo y al Final slo debe llegar una lnea Conector Indica el enlace de dos partes de un diagrama dentro de la misma pgina. Decisin Indica la comparacin de dos datos y dependiendo del resultado lgico (falso o verdadero) se toma la decisin de seguir un camino del diagrama u otro.

Plantilla StandardGraph ISO 5807 para la elaboracin manual de Diagramas de Flujo.

PRUEBAS DE ESCRITORIO
La prueba de escritorio es una herramienta til para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificacin sin necesidad de ejecutarlo. Bsicamente, una prueba de escritorio es una ejecucin a mano del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo.

A continuacin se muestra un ejemplo de prueba de escritorio del siguiente algoritmo


suma :entero entrada :entero menor :entero leer entrada menor = entrada suma = 0 mientras (entrada != 0) haga si (entrada < menor) entonces menor =entrada fin_si suma = suma + entrada leer entrada fin_mientras escribir valor Menor: escribir menor escribir Suma: escribir suma

You might also like