Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Concepto:
Programación I
PEM. FREDY GONZALEZ
1
Diagrama de flujo de datos
Características de los niveles de un DFD
Diagrama de Contexto: Nivel 0
En el diagrama de contexto se caracterizan todas las interacciones que
realiza un sistema con su entorno (entidades externas), estas pueden
ser otros sistemas, sectores internos a la organización, o factores
externos a la misma. Se dibuja un sólo proceso que representa al
sistema en cuestión y se escribe su nombre en dicha burbuja como un
sustantivo común más adjetivos. De él solamente parten los flujos de
datos que denotan las interrelaciones entre el sistema y sus agentes
externos, no admitiéndose otros procesos ni almacenamientos en el
dibujo, ya que estos son procesos estructurados y ordenados, además
posee una cardinalidad que varia según la función que desempeñe cada
diagrama. Resulta de gran utilidad para los niveles posteriores de
análisis como herramienta de balanceo. Y es conocido como el Diagrama
de Flujo de Datos DFD de Nivel "0".
Diagrama de Nivel Superior: Nivel 1
En el diagrama de nivel superior se plasman todos los procesos que
describen al proceso principal. En este nivel los procesos no suelen
interrelacionarse directamente, sino que entre ellos debe existir algún
almacenamiento o entidad externa que los una. Esta regla de
construcción sirve como ayuda al analista para contemplar que en un
nivel tan elevado de abstracción (DFD Nivel 1) es altamente probable
que la información que se maneja requiera ser almacenada en el sistema
aunque no esté especificado por un Requisito funcional, siendo en
realidad un requisito no-funcional.
Diagrama de Detalle o Expansión: Nivel 2
En un diagrama de nivel 2 o mayor, comienzan a explotarse las
excepciones a los caminos principales de la información dado que
aumenta progresivamente el nivel de detalle. De aquí en adelante se
permiten los flujos entre procesos.
El DFD (Diagrama De Flujo De Datos) nivel 2 puede considerarse el
máximo para ser validado en forma conjunta con el usuario dado que en
los niveles posteriores el alto grado de complejidad del diagrama puede
Programación I
PEM. FREDY GONZALEZ
2
Diagrama de flujo de datos
resultar de muy difícil lectura para personas ajenas al equipo de
sistemas. También se recomienda el diagrama de nivel superior.
DFD, símbolos
DFD, como ya había dicho usa una variedad de símbolos para ejecutar
dichas acciones que necesitamos en un programa, como:
Insertar – mostrar – calcular – funciones – condiciones – etc…
Programación I
PEM. FREDY GONZALEZ
3
Diagrama de flujo de datos
Así que ahora ya sabemos que símbolos usaremos para hacer algún
proceso especifico cuando vayamos a hacer un algoritmo.
Programación I
PEM. FREDY GONZALEZ
4
Diagrama de flujo de datos
Tipos de Datos y Variables
Numérica: 1234.6
Cadena: ‘Palabra’
Booleana: .F.
Las nombres de las variables, deben empezar siempre con una letra y
puede ir seguida de letras, números y guiones bajos (_), los nombres de
las variables no son sensibles a mayúsculas o minúsculas, por
tanto VARIABLE es igual que variable o VaRiAbLe.
Programación I
PEM. FREDY GONZALEZ
5
Diagrama de flujo de datos
Cuando una variable recibe un valor por primera vez, el tipo de dato de
esta será igual al tipo de dato del valor. La variables matriciales se
distinguen porque sus índices se indican entre paréntesis: R(5),
Matriz(2,K), vector(1,3,5).
Operadores de FreeDFD
Operadores Matemáticos:
Operación Símbolo Sintaxis
valor1 mod
Residuo mod
valor2
Programación I
PEM. FREDY GONZALEZ
6
Diagrama de flujo de datos
Operación Símbolo Sintaxis
Tangente
tanh tanh(valor)
Hiperbólico
Logaritmo
ln ln(valor)
Neperiano
Programación I
PEM. FREDY GONZALEZ
7
Diagrama de flujo de datos
Operadores Relacionales:
Operación Símbolo Sintaxis
O or valor1 or valor2
Programación I
PEM. FREDY GONZALEZ
8
Diagrama de flujo de datos
Programación I
PEM. FREDY GONZALEZ
9
Diagrama de flujo de datos
Tanto los operadores relacionales como los operadores lógicos,
retornan valores de tipo lógico o booleano, en el caso de FreeDFD,
retornan “.V.” (verdadero o 1) o “.F.” (falso o 0).
Para este caso tenemos dos operadores que podemos usar en FreeDFD,
que son:
De nuevo, no puede existir un "else if", sin que exista un "if" antes de
él.
Programación I
PEM. FREDY GONZALEZ
11
Diagrama de flujo de datos
Representación gráfica:
Problema:
Programación I
PEM. FREDY GONZALEZ
12
Diagrama de flujo de datos
Diagrama de flujo:
Programa:
import java.util.Scanner;
public class EstructuraCondicionalSimple1 {
public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
float sueldo;
System.out.print("Ingrese el sueldo:");
sueldo=teclado.nextFloat();
if (sueldo>3000) {
System.out.println("Esta persona debe abonar impuestos");
}
}
}
Programación I
PEM. FREDY GONZALEZ
13
Diagrama de flujo de datos
La palabra clave "if" indica que estamos en presencia de una estructura
condicional; seguidamente disponemos la condición entre paréntesis.
Por último encerrada entre llaves las instrucciones de la rama del
verdadero.
Representación gráfica:
Programación I
PEM. FREDY GONZALEZ
14
Diagrama de flujo de datos
En una estructura condicional compuesta tenemos entradas, salidas,
operaciones, tanto por la rama del verdadero como por la rama del
falso.
Problema:
Diagrama de flujo:
Se hace la entrada de num1 y num2 por teclado. Para saber cual variable
tiene un valor mayor preguntamos si el contenido de num1 es mayor
(>) que el contenido de num2, si la respuesta es verdadera vamos por
la rama de la derecha e imprimimos num1, en caso que la condición sea
falsa vamos por la rama de la izquierda (Falsa) e imprimimos num2.
Como podemos observar nunca se imprimen num1 y num2
simultáneamente.
Programación I
PEM. FREDY GONZALEZ
15
Diagrama de flujo de datos
Estamos en presencia de una ESTRUCTURA CONDICIONAL
COMPUESTA ya que tenemos actividades por la rama del verdadero y
del falso.
Programa:
import java.util.Scanner;
int num1,num2;
num1=teclado.nextInt();
num2=teclado.nextInt();
if (num1>num2) {
System.out.print(num1);
} else {
System.out.print(num2);
Programación I
PEM. FREDY GONZALEZ
16
Diagrama de flujo de datos
Cotejemos el diagrama de flujo y la codificación y observemos que el
primer bloque de llaves después del if representa la rama del verdadero
y el segundo bloque de llaves representa la rama del falso.
10
54
Operadores
Programación I
PEM. FREDY GONZALEZ
17
Diagrama de flujo de datos
>Operadores Relacionales:
> (mayor)
< (menor)
== (igual)
!= (distinto)
Operadores Matemáticos
+ (más)
- (menos)
* (producto)
/ (división)
Ejemplos:
Programación I
PEM. FREDY GONZALEZ
18
Diagrama de flujo de datos
Problemas propuestos
Programación I
PEM. FREDY GONZALEZ
19
Diagrama de flujo de datos
Problema:
Programación I
PEM. FREDY GONZALEZ
20
Diagrama de flujo de datos
Diagrama de flujo:
Problemas propuestos
Programación I
PEM. FREDY GONZALEZ
22
Diagrama de flujo de datos
Condiciones compuestas con operadores lógicos
matemáticos (+, -, *, /, %)
Operador &&
Problema:
Programación I
PEM. FREDY GONZALEZ
23
Diagrama de flujo de datos
Diagrama de flujo:
Programación I
PEM. FREDY GONZALEZ
24
Diagrama de flujo de datos
Programa:
import java.util.Scanner;
Programación I
PEM. FREDY GONZALEZ
25
Diagrama de flujo de datos
Operador ||
Problema:
Se carga una fecha (día, mes y año) por teclado. Mostrar un mensaje si
corresponde al primer trimestre del año (enero, febrero o marzo)
Cargar por teclado el valor numérico del día, mes y año.
Ejemplo: dia:10 mes:1 año:2010.
Diagrama de flujo:
Programación I
PEM. FREDY GONZALEZ
26
Diagrama de flujo de datos
La carga de una fecha se hace por partes, ingresamos las variables dia,
mes y año.
Mostramos el mensaje "Corresponde al primer trimestre" en caso que
el mes ingresado por teclado sea igual a 1, 2 ó 3.
En la condición no participan las variables dia y año.
Programa:
import java.util.Scanner;
int dia,mes,año;
dia=teclado.nextInt();
mes=teclado.nextInt();
Programación I
PEM. FREDY GONZALEZ
27
Diagrama de flujo de datos
System.out.print("Ingrese nro de año:");
año=teclado.nextInt();
Problemas propuestos
Programación I
PEM. FREDY GONZALEZ
29