You are on page 1of 9

DIAGRAMAS DE FLUJO CON DFD 19 Se cump le la condicin, ya que 2 es divisor de 6.

Por tanto, ya sabemos que el nm ero NO es primo, y


divisord e b e in cr e me n t a r s e y pasar a valer 1. Se alcanza el final de la estructura de seleccin, y la variable divisors ig u e v a lie n d o ce r o . Aqu hay un error ! Detenemos la ejecucin paso a paso para editar la asignacin errnea y corregirla.

Una vez corregido el error, probamos nu evamente el algoritmo con los casos de pru eba anteriores, verificand o qu e funciona correctamente. 6. S UBPRO GRAM AS

El tipo de subprograma qu e adm ite DFD es la fun cin. Debe notarse qu e en DFD los argumentos se pasan por REFERENCIA cuando son nombres de variables (tanto variables escalares com o vectores o matrices), y se pasan por VALOR cuand o son expresiones. Dentro de la opcin OBJETOS del men de ayuda, las opciones LLAMADA y SUBPROGRAMAS profundizan en estos aspectos. Igualmente, las fun ciones DFD no disponen de la sentencia DEVOLVER, por lo que los valores que deba retornar la funcin debern almacenarse en los correspond ientes argumentos de salida. El cdigo correspond iente a las funciones incluidas en un algoritmo debe aadirse al mismo utilizand o el botn NUEVO SUBPROGRAMA

20 FUN DAMENTOS DE PROGRAMACIN 1 GSTIC

que abre una nueva pantalla similar a la de inicial de un algoritmo, en la cual cambia el smbolo INICIO por la cabecera de la funcin. Editand o dicha cabecera se establecer el nombre de la funcin, los parmetros (ficticios) correspond ientes y, si se desea, una breve descripcin de dicha funcin (docum entacin de la misma). La insercin, borrado y edicin de objetos en una funcin es idntica a como se describi para el algoritmo principal.

La llamada a una funcin desde otro mdu lo tiene tambin un smbolo especial en DFD

DIAGRAMAS DE FLUJO CON DFD 21

cuya edicin permite introducir el nombre y los parmetros verdaderos de la fun cin : Los restantes botones del men subprogramas permiten moverse entre las distintas ventanas de subprogramas o eliminar el subprograma actual: Por ltimo, sealar que las operaciones de COPIAR, CORTAR, PEGAR y ELIMINAR pu eden realizarse entre subprogramas de un mismo algoritmo y entre algoritmos qu e se abran en u n a misma sesin de DFD. Esta ltima posibilidad pu ede aprovecharse para reutilizar funciones previamente construidas sin necesidad de volver a construirlas manualmente en el nuevo algoritmo. Dado que desafortunadamente DFD no permite copiar y pegar un algoritmo o funcin comp leta, es preciso recurrir a un pequ eo artificio para poder realizar esta tarea de forma fcil. El artificio consiste en encerrar las funciones que diseemos con DFD en una sentencia qu e englobe totalmente a la funcin (salvo la cabecera), y qu e no aada nada a la ejecucin de la misma (por ejemp lo, un lazo desde que se

ejecute un a sla vez). De esta manera s es posible copiar dicho lazo desde (y por tanto, la funcin
22 FUN DAMENTOS DE PROGRAMACIN 1 GSTIC

completa), y pegarla en otro algoritmo donde vayamos a utilizar la funcin. Lo nico qu e habr qu e comp letar manu almente ser la cabecera, q u e como ya hemos mencionad o no pu ede copiarse.