Está en la página 1de 7

DFD creador de diagramas de flujo !!!!

Page 1 of 7

Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Inicio Ayuda Chat Calendario Registrarse Ingresar

Unread | Nuevos | Web IH | E-Zine

Infierno Hacker > Programacion > Lenguajes de programación > DFD creador de diagramas de flujo !!!!

« anterior próximo »
Páginas: [1] Ir Abajo Imprimir

Autor Tema: DFD creador de diagramas de flujo !!!! (Leído 10013 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

SLUGER DFD creador de diagramas de flujo !!!!


Uzer « : 09/10/2008, 07:42:28 pm »

Desconectado
EL ALGORITMO
Mensajes: 211
En palabras sencillas, un algoritmo es una serie de instrucciones que
realizadas en orden conducen a la solución de un problema determinado.
También se puede decir que un algoritmo es la fase preliminar a escribir un
programa en cualquier lenguaje de programación, por lo que la forma de
escribirlo puede ser muy personal según el programador que lo esté
diseñando, pero en general se debe hacer en una forma tan clara que
cualquier otro programador pueda coger dicho algoritmo, entenderlo
fácilmente y poderlo traducir a su lenguaje de programación favorito.

Iron maiden
En general, hay varias formas de escribir un algoritmo en el papel: Una de
ellas es el diagrama de flujo que consta de rectángulos que encierran las
diferentes instrucciones y líneas que apuntan hacia la siguiente instrucción
de modo que no se pierda el orden. Además, las operaciones elementales
como la entrada de datos, salida de datos, ciclos, etc. (más adelante se explicarán) se reconocen de las demás instrucciones
porque no se encierran en rectángulos sino en otra clase de figuras por lo que según la figura en la que esté encerrada la
instrucción se reconoce su significado; Es muy didáctico, por lo que es muy fácil de entender así ni siquiera se conozca al
programador que diseñó el algoritmo.
Tambien existe el pseudocódigo donde cada instrucción ya no es un dibujo sino una línea escrita y las operaciones elementales
se escriben de una forma tan clara que sea imposible que algún programador no las entienda.
Para este tutorial utilizaremos los DIAGRAMAS DE FLUJO, y usaremos el programa DFD para implementar los ejemplos y hacer
más sencilla la explicación.

En general, un algoritmo se compone de un inicio, un final y una serie de instrucciones las cuales pueden estar
complementadas con condiciones, ciclos, etc.

En los diagramas de flujo, el inicio y el final de un algoritmo se escriben dentro de un CIRCULO a manera de etiqueta, tal y
como lo muestra la siguiente imagen:

Obviamente, entre estas dos "etiquetas" estarán todas las instrucciones de un algoritmo determinado.

Para realizar las instrucciones en un algoritmo, se utilizan básicamente Variables y Operadores.

LAS VARIABLES

En general, las variables son campos en memoria que pueden almacenar cualquier tipo de información (números, letras, frases,
valores de verdad, etc. ) que pueden tener cualquier nombre, que preferiblemente debe ser mnemotécnico, es decir, que tenga
relación con él o los datos que se almacenarán en la variable.
Los datos numéricos se almacenan en las variables una vez en el ordenador en forma binaria (base 2), y los datos de
caracteres como letras y frases se almacenan según el código ASCII de las letras, que es un código aceptado mundialmente
para representar todos los caracteres posibles (Por lo menos en muchos idiomas). Este código es un numero desde 0 hasta 255
por lo que se almacena también en forma binaria.
Los nombres de las variables deben seguir unas convenciones generales, que se crearon para evitar confusiones entre las
variables y los operadores aritméticos. Estas son:

* No pueden comenzar con números.


* No pueden contener símbolos u operadores en ninguna posición del nombre, excepto el carácter "_".
* No pueden contener espacios.

Como ejemplo aquí hay varios nombres para variables:

http://foro.infiernohacker.com/index.php?topic=8303.0 02/06/2011
DFD creador de diagramas de flujo !!!! Page 2 of 7

* A : Es un nombre correcto, aunque posiblemente muy poco mnemotécnico.


* A23: correcto.
* OJO5MALO : correcto.
* HOLA# : incorrecto, ya que tiene un símbolo dentro de su nombre.
* A 23 : incorrecto, porque hay un espacio dentro del nombre.
* A-23 : incorrecto.
* A_23 : correcto, ya que el carácter "_" es el único símbolo permitido para nombrar variables; se puede usar para separar
palabras dentro del nombre de una misma variable. Otro ejemplo podría ser:
PRIMER_NOMBRE o RADIO_CIRCULO.

Una característica de las variables es que son Case Sensitive, es decir que son sensibles al hecho de sí el nombre fué escrito
con mayúsculas o minúsculas, por lo que si se llamó a una variable A23, dentro de las demás instrucciones del algoritmo,
cuando se haga referencia a ésta variable, no podrá utilizarse a23 ya que se tomarían como dos variables diferentes.
Para almacenar valores a las variables se utilizará el operador de asignación (<-) y se lee "a 'variable' se le asigna 'valor'".
Como se dijo anteriormente, una variable puede contener números, letras, frases, etc., por lo que en un lenguaje de
programación, sería necesario al principio del algoritmo definir que clase de datos se van a almacenar y en que variables, pero
en el caso del diagrama de flujo esto no es necesario y suponemos que una variable puede ser de cualquier "tipo", pero al
asignarle un valor que no sea numerico (una letra, o una frase) debemos tener en cuenta que dicho valor debe estar entre
comillas simples (ej.: 'frase').

En los diagramas de flujo, las asignaciones a variables se encierran en RECTANGULOS para diferenciarlas de los demás tipos de
instrucciones.

Aqui tenemos varios ejemplos de asignaciones en diagramas de flujo:

Como se puede ver en el segundo rectángulo se le asignó a otra variable (Edad2) el valor de Edad (el cual contenía 23), por lo
que obviamente Edad2 termina valiendo 23, pero que pasaría si a Edad no se le hubiera asignado nada antes?

En este caso, la variable Edad vale lo que se conoce como BASURA, es decir, cualquier valor no controlado en el algoritmo.
DEFINICIÓN - BASURA: Cuando se hace uso de una variable, se debe ver si se le ha asignado un valor antes de usarla, ya que
de lo contrario contiene lo que se denomina BASURA. La basura simplemente aparece cuando a una variable se le asigna
espacio en la memoria del ordenador. Dicho espacio no está en blanco ya que como los datos internamente en el ordenador se
manejan en forma binaria hay una cantidad determinada de unos y ceros en ese espacio (Estados aleatorios que se crean cada
vez que se enciende el ordenador). Si no se asigna a dicha variable un valor y simplemente se utiliza en una operación
aritmética o una asignación, el valor de la variable dependerá de los unos y ceros que había cuando se le asignó el espacio, es
decir, no se sabrá con seguridad cual es el valor de esa variable en ese momento, por lo que podría producir graves errores en
las siguientes instrucciones del algoritmo.

EJEMPLO EN DFD:

Para implementar el ejemplo anterior en DFD, ejecutamos el programa DFD.EXE e inmediatamente aparecerá un "algoritmo"
con las etiquetas de inicio y final, pero sin instrucciones intermedias.
En la parte superior izquierda se verá un menú con botones los cuales tienen los simbolos para los diferentes tipos de
instrucciones en un algoritmo.
Para asignación se elige el rectángulo:

Luego se coloca el cursor del MOUSE sobre la posición en la cual se va a colocar la instrucción de asignación (en este caso,
entre las etiquetas de inicio y fin) hasta que aparezca el dibujo de una "mano".

Se hace click e inmediatamente aparece el rectángulo de asignación.


Ahora, para colocar las variable se hace doble click sobre el nuevo rectángulo y voalá, ya podemos colocar las variables y los
valores a asigarles.

http://foro.infiernohacker.com/index.php?topic=8303.0 02/06/2011
DFD creador de diagramas de flujo !!!! Page 3 of 7

En el programa DFD, se hace un pequeño control a las variables que contengan BASURA.
Esto se puede apreciar ya que si implementamos el ejemplo en el que a "Edad" no se le asignaba ningun valor, sale un error
como el siguiente:

NOTA: Para verificar si un algoritmo está correcto se presion el botón de EJECUTAR.

LOS OPERADORES

Los operadores son los que permiten efectuar las operaciones aritméticas en el algoritmo.
Los operadores básicos que se van a usar en este tutorial son los siguientes:

+ , - , * , / : Suma, resta, multiplicación y división respectivamente.

Son las mismas operaciones que en el cálculo normal con una pequeña diferencia: El resultado de estas operaciones puede ser
un numero entero o un fraccionario, por lo que se deberá especificar cual es el resultado que se desea. Para esto se debe
colocar en la DOCUMENTACIÓN DEL ALGORITMO (que veremos más adelante) que la variable no SOPORTA FRACCIONES
(entero), ya que por defecto, todas las variables númericas podrán ser fracciones.
Lastimosamente, en DFD no podemos especificar cuando deseamos que una variable no posea fracciones ya que todas las
variable numericas son "reales".

También vamos a usar operadores más complejos como son:

MOD: Dá el residuo de dividir un número entre otro sin DECIMALES.


Ejemplos:
10 MOD 3 = 1. ya que el 3 está en el 10 3 veces y 3*3=9 por lo que el residuo es 1.
10 MOD 4 = 2. ya que el 4 está en el 10 2 veces y 4*2=8 por lo que el residuo es 2.

^: Potenciación.
Ejemplo: 10 ^ 3 = 1000.

EJEMPLO EN DFD:

En el ejemplo anterior, la variable "res" terminará valiendo 1.5, pero si se especifica que es una variable que no soporta
fracciones (cosa que no se permite en el programa DFD), su valor será 1 (Se le quita la parte decimal).

IMPORTANTISIMO: Las operaciones en un ordenador tienen un cierto orden de importancia, es decir, algunas se efectúan
primero que otras. Este orden en forma descendente es:

Potenciación, modulo, división, multiplicación, suma y resta.

Si no se coloca ningún paréntesis en la operación aritmética, el orden anterior es el que tiene la máquina para realizar las
operaciones, pero al colocar algo entre paréntesis, esa parte de operación primará sobre las demás.

http://foro.infiernohacker.com/index.php?topic=8303.0 02/06/2011
DFD creador de diagramas de flujo !!!! Page 4 of 7

EJEMPLO EN DFD:

En este caso "n1" valdrá 8 ya que la división prima sobre la suma por lo que primero se resuelve 10/2 (5) y luego se suma el
3.
En cambio, para n2 el paréntesis hace que la operación interna prime sobre las demás, por lo que el resultado sería 13/2 , o
sea 6.5 !!!

Nota: Obsérvese que según se coloquen o no paréntesis en las distintas operaciones aritméticas los resultados cambian, por lo
que en el momento de escribir una operación en un algoritmo, se debe tener muy en cuenta la primacía de los operadores.

A parte de los operadores matematicos, tambien existen los llamados operadores lógicos.

Operadores lógicos: ( >,<,<=,>=,=,!=,<>,AND,OR,NOT): Sirven para hacer preguntas lógicas, como si una variable es mayor
que otra, igual, menor o igual, diferente, etc.
Retornan lo que se conoce como un valor de verdad, (TRUE o FALSE), (VERDADERO o FALSO).

En DFD el valor de FALSO se representa como .F. y VERDADERO como .V.

El operador "diferente de", se podrá especificar con ' != ' o con ' < > ' , según el programador lo elija.
Los operadores AND,OR,NOT se usan para ligar operadores logicos.

* AND indica que las dos condiciones deben ser verdaderas para que el resultado sea verdadero.
* OR indica que solo una de las dos condiciones debe ser verdadera para que la respuesta sea verdadera.
* NOT indica que la condicion debe ser falsa para que la respuesta sea verdadera.

Aquí se puede visualizar más facilmente el uso de estos operadores:

v1 valdrá .F. ya que n1 no es mayor que n2.

v2 valdrá .F. ya que n1 si es diferete de 1, pero nom no es igual a 'pedro' (las variables son Case Sensitive) y el operador AND
obliga a que las dos condiciones sean VERDADERAS.

v3 valdrá .F. ya que n1 si es diferete de n2, por lo que al negarlo dá FALSO.

CARACTERÍSTICAS DE UN ALGORITMO

Hasta el momento, no se ha escrito ningún algoritmo "real" en este texto; lo que se ha hecho es escribir segmentos de posibles
algoritmos para dar algunos ejemplos.

Un verdadero algoritmo debe tener las siguientes características:

1. Debe tener un numero finito de instrucciones, o sea un principio y un final, por lo que se deben señalar dentro del
algoritmo donde comienza y donde termina.
Para esto usamos las etiquetas de INICIO y FIN.
2. Puede tener o no datos de entrada, es decir, datos iniciales que se necesitan conocer para que el modelo que el algoritmo
representa funcione.

Por lo tanto se necesita un mecanismo para leer esos datos desde los dispositivos de entrada del ordenador.

Para esto utilizaremos el siguiente simbolo:

en el cual simplemente se colocan los nombres de las variables que deseamos que digite el usuario desde el teclado separados
por comas (,).

Ejemplo:

http://foro.infiernohacker.com/index.php?topic=8303.0 02/06/2011
DFD creador de diagramas de flujo !!!! Page 5 of 7

En este ejemplo, en la pantalla del ordenador saldría:

El mensaje de entrada de datos es un detalle que se coloca al momento de implemetar el algoritmo en un lenguaje de
programación.

Este ejemplo todavía no se puede catalogar como un algoritmo, ya que todavía le falta cumplir con otra característica de los
algoritmos.

1. Debe tener al menos uno o más datos de salida, que en forma practica sería el resultado al modelo que fue diseñado por
el programador y que por obvias razones deben ser mostrados mediante algún dispositivo de salida del ordenador.

Para esto se utilizará el siguiete simbolo:

en el cual simplemente se colocan los nombres de las variables que deseamos mostrar en la pantalla separados por comas (,).
Además, aqui podemos colocar los mensajes al usuario directamente para que él sepa lo que se está mostrando en la pantalla.
Para esto, se coloca el mensaje como otra variable (separado por comas), pero entre comillas simples ya que es ua variable de
tipo caracter.
Retomando el ejemplo anterior, el algoritmo finalmente quedaría:

En el ejemplo anterior, en la pantalla del ordenador saldría:

Ya hemos visto las partes básicas de un algoritmo, ahora pasaremos a diseñar algoritmos con instrucciones especiales (ciclos,
decisiones, etc.), desde los más simples hasta los más complejos.

PASOS PARA DISEÑAR UN ALGORITMO.

Aunque no hay un método general para diseñar algoritmos, si se puede decir que lo más adecuado es seguir con los siguientes
pasos al tratar de resolver un problema determinado:

1. EL ANÁLISIS: Es importantisimo hacer un buen análisis de cual es específicamente el problema a resolver. Para esto es
bueno ayudarse mediante gráficos del problema o en caso de que no sea graficable, también se puede resolver el problema
para casos específicos y luego generalizarlo para todos los posibles casos.

También se deben observar cuales serían los casos especiales, es decir, aquellos casos que no cumplan la norma general, y
tratar de evaluarlos de otra forma.

Este paso es el que más tiempo debe llevarle a un buen programador, ya que de un buen análisis depende los buenos

http://foro.infiernohacker.com/index.php?topic=8303.0 02/06/2011
DFD creador de diagramas de flujo !!!! Page 6 of 7

resultados que arroje el algoritmo.


2. ESCRIBIR EL ALGORITMO: Después de haber analizado el problema en una forma abstracta, se debe llevar al papel,
mediante instrucciones adecuadas al análisis.

Si el problema fue bien analizado, este paso es muy rápido a comparación del anterior.
3. PRUEBA DE ESCRITORIO: Este paso es opcional y se aplica siguiendo paso por paso las instrucciones del algoritmo,
anotando los diferentes valores que van tomando las variables, de forma que se pueda verificar si hay errores en alguna
instrucción.

Obviamente, éste método es muy engorroso para algoritmos muy extensos, por lo que en estos casos no sería aplicable.

Para ver los links...


Registrate o Logueate

En línea

Visita la corp.
Para ver los links...
Registrate o Logueate

----------------------------------
Para ver los links...
Registrate o Logueate

dylionA Re: DFD creador de diagramas de flujo !!!!


Leecher « Respuesta #1 : 28/03/2010, 10:40:43 pm »
*
EL LINK YTA CADUCO ME PODRIAS PONER UNO Q SIRVA X FAVOR GRACIAS BYE
Desconectado

Mensajes: 1

En línea

DarkClown-2 Re: DFD creador de diagramas de flujo !!!!


Recien llegado « Respuesta #2 : 28/03/2010, 10:59:50 pm »

Desconectado
Yo tambien lo quiciera porfavor
Mensajes: 23

En línea

Tuxlud Re: DFD creador de diagramas de flujo !!!!


Moderadores « Respuesta #3 : 28/03/2010, 11:57:40 pm »
User Infernal
Cita de: dylionA en 28/03/2010, 10:40:43 pm
Conectado EL LINK YTA CADUCO ME PODRIAS PONER UNO Q SIRVA X FAVOR GRACIAS BYE
Cita de: DarkClown en 28/03/2010, 10:59:50 pm
Mensajes: 723
Yo tambien lo quiciera porfavor

muchachos este es un post ya muy viejo, no revivan post antiguos, googleen y encontraran unos mejores

En línea

BLASTER Re: DFD creador de diagramas de flujo !!!!


Moderadores « Respuesta #4 : 29/03/2010, 08:13:12 am »
User Infernal

muchachos este es un post ya muy viejo, no revivan post antiguos, googleen y encontraran unos mejores
Desconectado
[/quote]
Mensajes: 470 es cierto tux pero igual si quieren aca esta
Para ver los links...
Registrate o Logueate

En línea

http://foro.infiernohacker.com/index.php?topic=8303.0 02/06/2011
DFD creador de diagramas de flujo !!!! Page 7 of 7

NO CLIQUEES LA CARITA
Para ver los links...
Coito Ergo Sum Registrate o Logueate

Páginas: [1] Ir Arriba Imprimir


« anterior próximo »

Ir a: => Lenguajes de programación ir

www.infiernohacker.com | Powered by SMF 1.1.13 | SMF © 2006-2008, Simple Machines LLC •

http://foro.infiernohacker.com/index.php?topic=8303.0 02/06/2011

También podría gustarte