Sie sind auf Seite 1von 35

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:

Programación I
PEM. FREDY GONZALEZ
1
Diagrama de flujo de datos
 Nivel 0: Diagrama de contexto
 Nivel 1: Diagrama de nivel superior
 Nivel 2: Diagrama de detalle o expansión

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
Programación I
PEM. FREDY GONZALEZ
2
Diagrama de flujo de datos
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 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:

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

* 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:

* 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:

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

* 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
5
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⁻²⁰⁰⁰.
Programación I
PEM. FREDY GONZALEZ
6
Diagrama de flujo de datos
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.

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

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

Operación Símbolo Sintaxis

División / valor1 / valor2

Residuo mod valor1 mod valor2

Potencia ^ valor1 ^ valor2

Raíz Cuadrada sqrt sqrt(valor)

Valor Absoluto abs abs(valor)

Seno sin sin(valor)

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 Hiperbólico tanh tanh(valor)

Logaritmo Decimal log log(valor)

Logaritmo Neperiano ln ln(valor)

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

Operación Símbolo Sintaxis

Exponencial de e exp exp(valor)

Número Aleatorio random random(valor)

Entero más cercano round round(valor)

Parte entera trunc trunc(valor)

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

Programación I
PEM. FREDY GONZALEZ
9
Diagrama de flujo de datos
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

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.

Programación I
PEM. FREDY GONZALEZ
10
Diagrama de flujo de datos
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.

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

Programación I
PEM. FREDY GONZALEZ
11
Diagrama de flujo de datos
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",
Programación I
PEM. FREDY GONZALEZ
12
Diagrama de flujo de datos
en caso de que no se cumpla la 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
13
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
14
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);

Programación I
PEM. FREDY GONZALEZ
15
Diagrama de flujo de datos
float sueldo;
System.out.print("Ingrese el sueldo:");
sueldo=teclado.nextFloat();
if (sueldo>3000) {
System.out.println("Esta persona debe abonar impuestos");
}
}
}
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.

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

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:

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

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.

Estamos en presencia de una ESTRUCTURA CONDICIONAL COMPUESTA ya


que tenemos actividades por la rama del verdadero y del falso.

Programación I
PEM. FREDY GONZALEZ
18
Diagrama de flujo de datos
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
19
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
20
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)

Programación I
PEM. FREDY GONZALEZ
21
Diagrama de flujo de datos
% (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.

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

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

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
24
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
25
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
26
Diagrama de flujo de datos

Programación I
PEM. FREDY GONZALEZ
27
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.

Programación I
PEM. FREDY GONZALEZ
28
Diagrama de flujo de datos
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.

Diagrama de flujo:

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

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
30
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) {

Programación I
PEM. FREDY GONZALEZ
31
Diagrama de flujo de datos
System.out.print(num1);
} else {
if (num2>num3) {
System.out.print(num2);
}else {
System.out.print(num3);
}
}
}
}

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.

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

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;

Programación I
PEM. FREDY GONZALEZ
33
Diagrama de flujo de datos
System.out.print("Ingrese nro de día:");

dia=teclado.nextInt();

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

mes=teclado.nextInt();

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.

Programación I
PEM. FREDY GONZALEZ
34
Diagrama de flujo de datos
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.
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
35

Das könnte Ihnen auch gefallen