Está en la página 1de 29

Diagrama de flujo de datos

Concepto:

Un diagrama de flujo de datos o DFD (sus siglas en español e inglés), se


utiliza para hacer varias cosas entre ellas trabajos y tareas. Es una
representación gráfica del flujo de datos a través de un sistema de
información. Un diagrama de flujo de datos también se puede utilizar
para la visualización de procesamiento de datos (diseño estructurado).
Es una práctica común para un diseñador dibujar un contexto a nivel de
DFD que primero muestra la interacción entre el sistema y las entidades
externas.
Los diagramas de flujo de datos fueron inventados por Larry
Constantine, el desarrollador original del diseño estructurado, basado
en el modelo de computación de Martin y Estrin: "flujo gráfico de datos"
. Los diagramas de flujo de datos (DFD) son una de las tres perspectivas
esenciales de Análisis de Sistemas Estructurados y Diseño por Método
SSADM. El patrocinador de un proyecto y los usuarios finales tendrán
que ser informados y consultados en todas las etapas de una evolución
del sistema. Con un diagrama de flujo de datos, los usuarios van a poder
visualizar la forma en que el sistema funcione, lo que el sistema va a
lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de
diagramas de flujo de datos puede ser elaborado y se comparó con el
nuevo sistema de diagramas de flujo para establecer diferencias y
mejoras a aplicar para desarrollar un sistema más eficiente. Los
diagramas de flujo de datos pueden ser usados para proporcionar al
usuario final una idea física de cómo resultarán los datos a última
instancia, y cómo tienen un efecto sobre la estructura de todo el
sistema. La manera en que cualquier sistema es desarrollado, puede
determinarse a través de un diagrama de flujo de datos.
Los niveles de un DFD son:

 Nivel 0: Diagrama de contexto


 Nivel 1: Diagrama de nivel superior
 Nivel 2: Diagrama de detalle o expansión

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…

Para ello, les mostraré a continuación cada una:

* Para iniciar y terminar un algoritmo se usa el siguiente símbolo:


* Para ingresar (pedir algún dato) se usa el siguiente símbolo:

* Para calcular (hacer operaciones) se usa el siguiente símbolo:

* Para hacer una operación considerando un límite, se aplica el


“mientras que”, y se usa el siguiente símbolo:

* Para hacer de igual manera una operación poniéndole un límite se


aplica el “para – hasta que”, y se usa el siguiente símbolo:

Programación I
PEM. FREDY GONZALEZ
3
Diagrama de flujo de datos

* Para hacer una condición de “decisión”, se usa el siguiente símbolo:

* Para mostrar (exponer algún dato) se usa el siguiente símbolo:

* Para hacer una función / subprograma, se usa el siguiente símbolo:

* Para llamar a una función / subprograma, se usa el siguiente símbolo:

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

FreeDFD, es capaz de manejar básicamente tres tipos de datos, los


cuales son números, cadenas y booleanos, asimismo en FreeDFD se
puede trabajar tanto con variables como con constantes, algunos
ejemplos de constantes son:

Numérica: 1234.6

Numero < ------ 0

Cadena: ‘Palabra’

Texto < ------ ‘ ‘

Booleana: .F.

Lógica < ------ .v.

Si observamos la definición de estos valores, nos damos cuenta que las


cadenas van entre comillas simples y que para los valores booleanos,
se pone la letra mayúscula correspondiente y un punto antes y después
de ponerla, de este modo:

Verdadero -> .V.

Falso -> .F.

Los valores numéricos pueden ir entre -1*10²⁰⁰⁰ y 1*10²⁰⁰⁰ y los


números más cercanos a 0, son 1*10⁻²⁰⁰⁰ y -1*10⁻²⁰⁰⁰.

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

En el programa FreeDFD, se usan diferentes tipos de Operadores, entre


los que encontramos Matemáticos, Relacionales, Lógicos y con
operaciones sobre Cadenas.

A continuación, encontrarás una lista de los operadores, el tipo al que


pertenecen y su sintaxis:

Operadores Matemáticos:
Operación Símbolo Sintaxis

Suma + valor1 + valor2

Resta – valor1 – valor2

Multiplicación * valor1 * valor2

División / valor1 / valor2

valor1 mod
Residuo mod
valor2

Potencia ^ valor1 ^ valor2

Raíz Cuadrada sqrt sqrt(valor)

Valor Absoluto abs abs(valor)

Seno sin sin(valor)

Programación I
PEM. FREDY GONZALEZ
6
Diagrama de flujo de datos
Operación Símbolo Sintaxis

Coseno cos cos(valor)

Tangente tan tan(valor)

Arco Seno asin asin(valor)

Arco Coseno acos acos(valor)

Arco Tangente atan atan(valor)

Seno Hiperbólico sinh sinh(valor)

Coseno Hiperbólico cosh cosh(valor)

Tangente
tanh tanh(valor)
Hiperbólico

Logaritmo Decimal log log(valor)

Logaritmo
ln ln(valor)
Neperiano

Exponencial de e exp exp(valor)

Número Aleatorio random random(valor)

Entero más cercano round round(valor)

Parte entera trunc trunc(valor)

Programación I
PEM. FREDY GONZALEZ
7
Diagrama de flujo de datos

Operadores Relacionales:
Operación Símbolo Sintaxis

Mayor que > valor1 > valor2

Menor que < valor1 < valor2

Mayor igual que >= valor1 >= valor2

Menor igual que <= valor1 <= valor2

Igual que = valor1 = valor2

Diferente de != valor1 != valor2

Operadores Lógicos (Véase Tablas de Verdad y Puertas Lógicas):


Operación Símbolo Sintaxis

No not not valor

Y and valor1 and valor2

O or valor1 or valor2

O exclusivo xor valor1 xor valor2

No Y nand valor1 nand valor2

No O nor valor1 nor valor2

No O exclusivo xnor valor1 xnor valor2

Programación I
PEM. FREDY GONZALEZ
8
Diagrama de flujo de datos

Hoja de problemas a resolver con operadores de DFD

1. Solicita el ingreso de la base y altura de un rectángulo y calcula


su área muestra en pantalla el resultado.

2. Solicita el ingreso de dos número y calcula su potencia del primer


número ^ segundo número muestra en pantalla el resultado.

3. Calcula el logaritmo decimal de un número ingresado muestra en


pantalla el resultado.

4. Ingresa 7 números y calcula su raíz cuadrada a cada uno muestra


en pantalla el resultado.
5. Solicita el ingreso de tu nombre y muestra en pantalla la cantidad
de letras que lo conforman.
6. Solicita el ingreso de 3 nombres suma el primero con el segundo
y el resultado potencia por el tercero.
7. Calcula el iva de una cantidad ingresada por el usuario y muestra
en pantalla el resultado.
8. Solicita el ingreso de dos cantidades con 5 decimales y realiza
una división del primero por el segundo muestra su resultado
usando la opción trucn.
9. Solicita un número y calcula su seno muestra en pantalla el
resultado.
10. Solicita un número y calcula su coseno muestra en pantalla
el resultado.
11. Solicita un número y calcula su tangente muestra en pantalla
el resultado.
12. Solicita un número y calcula su exponencial muestra en
pantalla el resultado.
13. Solicita un número utiliza la opción random muestra en
pantalla el resultado.

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).

Operadores con Cadenas

Para este caso tenemos dos operadores que podemos usar en FreeDFD,
que son:

 Obtener la longitud de una cadena: len. Por ejemplo: len(‘hola’) es igual


a 4, que es la cantidad de caracteres en la cadena.
 Obtener parte del contenido de una cadena: substring. Por
ejemplo:substring(‘pingüino’,5,4) es igual a ‘üino’, ya que “ü”, es el
carácter numero 5 de la palabra “pingüino” y el operador devolverá
los cuatro caracteres siguientes al quinto incluido el mismo.

-Sentencia if: Esta sentencia permite la ejecución de un bloque de


código, si y solo si, se ha cumplido la condición dentro del "if", si no se
cumplió la condición, se pasa a las instrucciones que estén fuera del
"if".

-Sentencia else: En esta sentencia no se plantea directamente una


condición, es mas bien, una respuesta a la condición que se formulo
dentro de la sentencia "if". Si la condición de "if" no se cumplió,
entonces se ejecuta el bloque de código que contenga la sentencia
"else".

Además, no puedo haber una sentencia "else" sin su respectiva


sentencia "if"

-Sentencia else if o else colgante: Esta sentencia es parecida a "else",


con la diferencia de que en ésta si se evalúa una condición. Si la
condición de un "if" anterior a "else if" no se cumplió, entonces se
evalúa la condición de "else if", en caso de que no se cumpla la
Programación I
PEM. FREDY GONZALEZ
10
Diagrama de flujo de datos
condición de la sentencia "else if", se ejecutara el siguiente bloque de
código que este fuera de "else if".

De nuevo, no puede existir un "else if", sin que exista un "if" antes de
él.

Estructuras condicionales simples y compuestas

No todos los problemas pueden resolverse empleando estructuras


secuenciales. Cuando hay que tomar una decisión aparecen las
estructuras condicionales.
En nuestra vida diaria se nos presentan situaciones donde debemos
decidir.
¿Elijo la carrera A o la carrera B?
¿Me pongo este pantalón?
Para ir al trabajo, ¿elijo el camino A o el camino B?
Al cursar una carrera, ¿elijo el turno mañana, tarde o noche?

Por supuesto que en un problema se combinan estructuras


secuenciales y condicionales.

Estructura condicional simple.

Cuando se presenta la elección tenemos la opción de realizar una


actividad o no realizar ninguna.

Programación I
PEM. FREDY GONZALEZ
11
Diagrama de flujo de datos
Representación gráfica:

Podemos observar: El rombo representa la condición. Hay dos opciones


que se pueden tomar. Si la condición da verdadera se sigue el camino
del verdadero, o sea el de la derecha, si la condición da falsa se sigue
el camino de la izquierda.
Se trata de una estructura CONDICIONAL SIMPLE porque por el camino
del verdadero hay actividades y por el camino del falso no hay
actividades.
Por el camino del verdadero pueden existir varias operaciones,
entradas y salidas, inclusive ya veremos que puede haber otras
estructuras condicionales.

Problema:

Ingresar el sueldo de una persona, si supera los 3000 Quetzales mostrar


un mensaje en pantalla indicando que debe abonar impuestos.

Programación I
PEM. FREDY GONZALEZ
12
Diagrama de flujo de datos
Diagrama de flujo:

Podemos observar lo siguiente: Siempre se hace la carga del sueldo,


pero si el sueldo que ingresamos supera 3000 Quetzalesse mostrará por
pantalla el mensaje "Esta persona debe abonar impuestos", en caso que
la persona cobre 3000 o menos no aparece nada por pantalla.

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.

Es necesario que las instrucciones a ejecutar en caso que la condición


sea verdadera estén encerradas entre llaves { }, con ellas marcamos el
comienzo y el fin del bloque del verdadero.

Ejecutando el programa e ingresamos un sueldo superior a 3000 pesos.


Podemos observar como aparece en pantalla el mensaje "Esta persona
debe abonar impuestos", ya que la condición del if es verdadera.
Volvamos a ejecutar el programa y carguemos un sueldo menor o igual
a 3000 pesos. No debe aparecer mensaje en pantalla.

Estructura condicional compuesta.

Cuando se presenta la elección tenemos la opción de realizar una


actividad u otra. Es decir tenemos actividades por el verdadero y por
el falso de la condición. Lo más importante que hay que tener en
cuenta que se realizan las actividades de la rama del verdadero o las
del falso, NUNCA se realizan las actividades de las dos ramas.

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:

Realizar un programa que solicite ingresar dos números distintos y


muestre por pantalla el mayor de ellos.

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;

public class EstructuraCondicionalCompuesta1 {

public static void main(String[] ar) {

Scanner teclado=new Scanner(System.in);

int num1,num2;

System.out.print("Ingrese primer valor:");

num1=teclado.nextInt();

System.out.print("Ingrese segundo valor:");

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.

Compilemos el programa, si hubo errores sintácticos corrijamos y


carguemos dos valores, como por ejemplo:

Ingrese el primer valor: 10

Ingrese el segundo valor: 4

10

Si ingresamos los valores 10 y 4 la condición del if retorna verdadero


y ejecuta el primer bloque.
Un programa se controla y corrige probando todos sus posibles
resultados.
Ejecutemos nuevamente el programa e ingresemos:

Ingrese el primer valor: 10

Ingrese el segundo valor: 54

54

Cuando a un programa le corregimos todos los errores sintácticos y


lógicos ha terminado nuestra tarea y podemos entregar el mismo al
USUARIO que nos lo solicitó.

Operadores

En una condición deben disponerse únicamente variables, valores


constantes y operadores relacionales.

Programación I
PEM. FREDY GONZALEZ
17
Diagrama de flujo de datos

>Operadores Relacionales:

> (mayor)

< (menor)

>= (mayor o igual)

<= (menor o igual)

== (igual)

!= (distinto)

Operadores Matemáticos

+ (más)

- (menos)

* (producto)

/ (división)

% (resto de una división) Ej.: x=13%5; {se guarda 3}

Hay que tener en cuenta que al disponer una condición debemos


seleccionar que operador relacional se adapta a la pregunta.

Ejemplos:

Se ingresa un número multiplicarlo por 10 si es distinto a 0. (!=)

Se ingresan dos números mostrar una advertencia si son iguales.


(==)

Los problemas que se pueden presentar son infinitos y la correcta


elección del operador sólo se alcanza con la práctica intensiva en la
resolución de problemas.

Programación I
PEM. FREDY GONZALEZ
18
Diagrama de flujo de datos

Problemas propuestos

1. Realizar un programa que lea por teclado dos números, si el


primero es mayor al segundo informar su suma y diferencia, en
caso contrario informar el producto y la división del primero
respecto al segundo.

2. Se ingresan tres notas de un alumno, si el promedio es mayor o


igual a siete mostrar un mensaje "Promocionado".

3. Se ingresa por el teclado un texto y si el texto tiene más 5 letras


indicar este texto tiene 5 letras de lo contrario es menor de 5
letras el texto.

Programación I
PEM. FREDY GONZALEZ
19
Diagrama de flujo de datos

Estructuras condicionales anidadas

Decimos que una estructura condicional es anidada cuando por la rama


del verdadero o el falso de una estructura condicional hay otra
estructura condicional.

El diagrama de flujo que se presenta contiene dos estructuras


condicionales. La principal se trata de una estructura condicional
compuesta y la segunda es una estructura condicional simple y está
contenida por la rama del falso de la primer estructura.
Es común que se presenten estructuras condicionales anidadas aún más
complejas.

Problema:

Confeccionar un programa que pida por teclado tres notas de un alumno,


calcule el promedio e imprima alguno de estos mensajes:
Si el promedio es >=7 mostrar "Promocionado".
Si el promedio es >=4 y <7 mostrar "Regular".
Si el promedio es <4 mostrar "Reprobado".

Programación I
PEM. FREDY GONZALEZ
20
Diagrama de flujo de datos

Diagrama de flujo:

Analicemos el siguiente diagrama. Se ingresan tres valores por teclado


que representan las notas de un alumno, se obtiene el promedio
sumando los tres valores y dividiendo por 3 dicho resultado (Tener en
cuenta que si el resultado es un valor real solo se almacena la parte
entera).
Programación I
PEM. FREDY GONZALEZ
21
Diagrama de flujo de datos
Primeramente preguntamos si el promedio es superior o igual a 7, en
caso afirmativo va por la rama del verdadero de la estructura
condicional mostramos un mensaje que indica "Promocionado" (con
comillas indicamos un texto que debe imprimirse en pantalla).
En caso que la condición nos de falso, por la rama del falso aparece
otra estructura condicional, porque todavía debemos averiguar si el
promedio del alumno es superior o igual a cuatro o inferior a cuatro.
Estamos en presencia de dos estructuras condicionales compuestas.

Problemas propuestos

1. Se cargan por teclado tres números distintos. Mostrar por pantalla


el mayor de ellos.

2. Se ingresa por teclado un valor entero, mostrar una leyenda que


indique si el número es positivo, nulo o negativo.

3. Un postulante a un empleo, realiza un test de capacitación, se


obtuvo la siguiente información: cantidad total de preguntas que
se le realizaron y la cantidad de preguntas que contestó
correctamente. Se pide confeccionar un programa que ingrese los
dos datos por teclado e informe el nivel del mismo según el
porcentaje de respuestas correctas que ha obtenido, y sabiendo
que:

4. Nivel máximo: Porcentaje>=90%.

5. Nivel medio: Porcentaje>=75% y <90%.

6. Nivel regular: Porcentaje>=50% y <75%.

Fuera de nivel: Porcentaje<50%.

Programación I
PEM. FREDY GONZALEZ
22
Diagrama de flujo de datos
Condiciones compuestas con operadores lógicos

Hasta ahora hemos visto los operadores:

relacionales (>, <, >=, <= , ==, !=)

matemáticos (+, -, *, /, %)

pero nos están faltando otros operadores imprescindibles:

lógicos (&&, ||).

Estos dos operadores se emplean fundamentalmente en las estructuras


condicionales para agrupar varias condiciones simples.

Operador &&

Traducido se lo lee como ?Y?. Si la Condición 1 es verdadera Y la


condición 2 es verdadera luego ejecutar la rama del verdadero.
Cuando vinculamos dos o más condiciones con el operador ?&&?, las
dos condiciones deben ser verdaderas para que el resultado de la
condición compuesta de Verdadero y continúe por la rama del
verdadero de la estructura condicional.

La utilización de operadores lógicos permiten en muchos casos plantear


algoritmos más cortos y comprensibles.

Problema:

Confeccionar un programa que lea por teclado tres números distintos y


nos muestre el mayor.

Programación I
PEM. FREDY GONZALEZ
23
Diagrama de flujo de datos
Diagrama de flujo:

Este ejercicio está resuelto sin emplear operadores lógicos en un


concepto anterior del tutorial. La primera estructura condicional es una

Programación I
PEM. FREDY GONZALEZ
24
Diagrama de flujo de datos

ESTRUCTURA CONDICIONAL COMPUESTA con una CONDICION


COMPUESTA.
Podemos leerla de la siguiente forma:
Si el contenido de la variable num1 es mayor al contenido de la variable
num2 Y si el contenido de la variable num1 es mayor al contenido de la
variable num3 entonces la CONDICION COMPUESTA resulta
Verdadera.
Si una de las condiciones simples da falso la CONDICION COMPUESTA
da Falso y continua por la rama del falso.
Es decir que se mostrará el contenido de num1 si y sólo si num1>num2
y num1>num3.
En caso de ser Falsa la condición, analizamos el contenido de num2 y
num3 para ver cual tiene un valor mayor.
En esta segunda estructura condicional no se requieren operadores
lógicos al haber una condición simple.

Programa:
import java.util.Scanner;

public class CondicionesCompuestas1 {


public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
int num1,num2,num3;
System.out.print("Ingrese primer valor:");
num1=teclado.nextInt();
System.out.print("Ingrese segundo valor:");
num2=teclado.nextInt();
System.out.print("Ingrese tercer valor:");
num3=teclado.nextInt();
if (num1>num2 && num1>num3) {
System.out.print(num1);
} else {
if (num2>num3) {
System.out.print(num2);
}else {
System.out.print(num3);
}
}
}
}

Programación I
PEM. FREDY GONZALEZ
25
Diagrama de flujo de datos

Operador ||

Traducido se lo lee como ?O?. Si la condición 1 es Verdadera O la


condición 2 es Verdadera, luego ejecutar la rama del Verdadero.
Cuando vinculamos dos o más condiciones con el operador ?Or", con
que una de las dos condiciones sea Verdadera alcanza para que el
resultado de la condición compuesta sea Verdadero.

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;

public class CondicionesCompuestas2 {

public static void main(String[] ar) {

Scanner teclado=new Scanner(System.in);

int dia,mes,año;

System.out.print("Ingrese nro de día:");

dia=teclado.nextInt();

System.out.print("Ingrese nro de mes:");

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();

if (mes==1 || mes==2 || mes==3) {

System.out.print("Corresponde al primer trimestre");

Problemas propuestos

1. Realizar un programa que pida cargar una fecha cualquiera, luego


verificar si dicha fecha corresponde a Navidad.

2. Se ingresan tres valores por teclado, si todos son iguales se


imprime la suma del primero con el segundo y a este resultado se
lo multiplica por el tercero.

3. Se ingresan por teclado tres números, si todos los valores


ingresados son menores a 10, imprimir en pantalla la leyenda
"Todos los números son menores a diez".

4. Se ingresan por teclado tres números, si al menos uno de los


valores ingresados es menor a 10, imprimir en pantalla la leyenda
"Alguno de los números es menor a diez".

5. De un operario se conoce su sueldo y los años de antigüedad. Se


pide confeccionar un programa que lea los datos de entrada e
informe:
a) Si el sueldo es inferior a 500 y su antigüedad es igual o superior
a 10 años, otorgarle un aumento del 20 %, mostrar el sueldo a
pagar.
Programación I
PEM. FREDY GONZALEZ
28
Diagrama de flujo de datos
b)Si el sueldo es inferior a 500 pero su antigüedad es menor a 10
años, otorgarle un aumento de 5 %.
c) Si el sueldo es mayor o igual a 500 mostrar el sueldo en pantalla
sin cambios.

6. Escribir un programa en el cual: dada una lista de tres valores


numéricos distintos se calcule e informe su rango de variación
(debe mostrar el mayor y el menor de ellos)

Programación I
PEM. FREDY GONZALEZ
29

También podría gustarte