Académique Documents
Professionnel Documents
Culture Documents
UNIDAD 3
CONTROL DE FLUJO
3.1 Estructuras secuenciales
3.2 Estructuras selectivas:
Simple, Doble y Mltiple
3.3 Estructura iterativas:
Do While, For, While
CONTROL DE FLUJO
Es determinar el orden en el que se ejecutarn las instrucciones en
nuestros programas. Si no existieran las estructuras de control entonces
los programas se ejecutaran de forma secuencial, empezara por la
primera instruccin e ira una a una hasta llegar a la ltima.
Pero, obviamente este panorama sera muy malo para el programador.
Por un lado, en sus programas no existira la posibilidad de elegir uno
de entre varios caminos en funcin de ciertas condiciones (Estructuras
selectivas). Y por el otro, no podran ejecutar algo repetidas veces, sin
tener que escribir el cdigo para cada una (Estructuras iterativas o
repetitivas).
Las estructuras
selectivas
como su nombre indica permiten
seleccionar uno de entre varios caminos por donde seguir la ejecucin
del programa. En algunos casos esta seleccin viene determinada por la
evaluacin de una expresin lgica.
A las sentencias repetitivas se les conoce tambin como sentencias
iterativas ya que permiten realizar algo varias veces (repetir, iterar).
Estructuras secuenciales
Cuando en un problema slo participan entradas, operaciones y salidas
se le denomina una estructura secuencial. Los ejercicios realizados
previamente emplean solo estructuras secuenciales. La programacin
requiere una prctica ininterrumpida del algoritmo o codificacin de
problemas.
Ejemplo:
Inicio
n1,n2,n3,sum,prom
n1,n2,n3
sum=n1+n2+n3
prom=sum/3
sum
prom
Fin
class Ejemplo
{
Int n1=0,n2=0,n3=0,sum=0,prom=0;
private void captura()
{
n1=Integer.parseInt(JOptionPane.showInputDialog(Dame
nmero1));
n2=Integer.parseInt(JOptionPane.showInputDialog(Dame
nmero2));
n3=Integer.parseInt(JOptionPane.showInputDialog(Dame
nmero3));
}//fin del mtodo captura
private void operacion()
{
sum=n1+n2+n3;
prom=sum/3;
}//fin del mtodo operacion
private void salida()
{
JOptionPane.showMessageDialog(null,La suma es: +
sum);
JOptionPane.showMessageDialog(null,El promedio es: +
prom);
}//fin del mtodo salida
public static void main (String args[])
{
Ejemplo x=new Ejemplo();
x.captura();
x.operacion();
x.salida();
}//fin del main
}//fin de la clase
LIC. VIDALIA GMEZ VZQUEZ 2
SELECCIN SIMPLE
Esta estructura de seleccin permite controlar la ejecucin de acciones
cuando existe una sola alternativa de accin. Se utiliza cuando alguna
accin o conjunto de acciones est condicionada para que se lleve a
cabo su ejecucin, pero no tiene una opcin alterna.
Expresado en Diagrama de Flujo
condicin
Accin (es)
Sintaxis en JAVA:
DONDE:
if ( condicin )
Accin (es)
}
Ejemplo
Elaborar un programa que calcule la edad de una persona y mandar a
imprimir el mensaje ERES MAYOR DE EDAD, si es mayor o igual a 18
aos.
inicio
aActual, aNacim
edad >= 18
Fin
Cdigo
import javax.swing.JOptionPane;
class ImprimeMensaje
{
int edad=0, aActual=0, aNacim=0;
private void captura ()
{
aActual=Integer.parseInt ( JOptionPane.showInputDialog (Dame un
nmero));
aNacim=Integer.parseInt ( JOptionPane.showInputDialog (Dame otro
nmero));
}// fin del mtodo captura
private void proceso ()
{
edad = aActual aNacim;
if ( edad >= 18)
{
JOptionPane.showInputDialog (null, ERES MAYOR DE EDAD );
}
}//fin del mtodo proceso
public static void main ( String arg [] )
{
Resta ob=new Resta();
ob.captura ();
ob.proceso ();
}// fin del mtodo main
LIC. VIDALIA GMEZ VZQUEZ
}//fin de la clase
SELECCIN DOBLE
Esta estructura de seleccin permite controlar la ejecucin de acciones
cuando se tienen dos opciones de alternativa de accin. Por la
naturaleza de estas, se debe ejecutar una o la otra, pero NO ambas a la
vez, es decir, son mutuamente excluyentes.
Expresado en Diagrama de Flujo
condicin
DONDE:
Accin (es)
Accin (es)
if ( si ) :
Sintaxis en JAVA:
if (condicin)
{
Accin (es);
}
else
{
Apertura
y cierre
cada bloque.
LIC.
VIDALIA
GMEZde
VZQUEZ
6
Accin (es);
}
Ejemplo
Elaborar un programa que calcule la edad de una persona y mandar a
imprimir el mensaje ERES MAYOR DE EDAD, si es mayor o igual a 18
aos o el mensaje ERES MENOR DE EDAD en caso contrario.
inicio
aActual, aNacim
V
edad >= 18
Cdigo
Fin
import javax.swing.JOptionPane;
class ImprimeMensaje
{
int edad=0, aActual=0, aNacim=0;
private void captura ()
{
aActual=Integer.parseInt ( JOptionPane.showInputDialog (Dame un
LIC. VIDALIA GMEZ VZQUEZ
nmero));
aNacim=Integer.parseInt ( JOptionPane.showInputDialog (Dame otro
nmero));
}// fin del mtodo captura
Ejemplo:
r, n1, n2
Elaborar un programa que al introducir
dos nmeros diferente realice
una resta y que el resultado sea positivo.
n1, n2
n1 > n2
r = n2 n1
r = n1 n2
Resultado r
Cdigo
import javax.swing.JOptionPane;
class Resta
{
int n1=0, n2=0, r=0;
private void captura ()
{
n1=Integer.parseInt (JOptionPane.showInputDialog (Dame un
nmero));
n2=Integer.parseInt (JOptionPane.showInputDialog (Dame otro
nmero));
}// fin del mtodo captura
private void proceso ()
{
if ( n1 > n2)
{
r= n1 n2;
}
else
{
r= n2 n1;
}
}//fin del mtodo proceso
private void salida ()
{
JOptionPane.showInputDialog (Dame un nmero + r );
}// fin del mtodo salida
public static void main ( String arg [] )
{
Resta ob=new Resta();
ob.captura ();
LIC. VIDALIA GMEZ VZQUEZ
ob.proceso ();
ob.salida ();
}// fin del mtodo main
}//fin de la clase
SELECCIN MULTIPLE
Esta estructura de seleccin permite controlar la ejecucin de acciones
cuando se tienen ms de dos opciones alternativas de accin.
selector
Accin (es)
Accin (es)
Sintaxis en JAVA
switch (selector)
{
case 1: Accin (es)
break;
case 2: Accin (es)
break;
case 3: Accin (es)
break;
.
.
3
Accin (es)
Accin (es)
Donde:
switch: Indica la estructura de seleccin mltiple
selector: Es una variable de tipo int, carcter o algn
tipo de dato
ordinal, la que traer un valor que indicar el
caso a ejecutar
caso 1,2: Son las etiquetas que identifican cada caso de
acuerdo
3..n con los valores que puede tomar selector.
Accin (es): Es una accin o conjunto de acciones a
realizar.
Default: Si selector no toma ninguno de los valores
colocados, se va
LIC. VIDALIA GMEZ VZQUEZ 1
por es opcin de DEFAULT.
0
Ejemplo:
Simular una calculadora, que sume, divida o multiplique.
inicio
r, n1, n2
op
1
r=n1+n2
2
r=n1/n2
r=n1*n2
Resultado r
Fin
1
1
class Calculadora
{
int n1=0, n2=0, r=0;
private void captura ()
{
n1=Integer.parseInt(JOptionPane.showInputDialog(Dame 1er. Nmero));
n2=Integer.parseInt(JOptionPane.showInputDialog(Dame 1er. Nmero));
op=Integer.parseInt(JOptionPane.showInputDialog(C A L C U L A D O
R A\n
1.- Sumar\n
2.- Dividir\n
3.- Multiplicar\n
Elige una opcin));
}
private void operacin()
{
switch( op )
{
case 1: r=n1+n2;
break;
case 2: r=n1/n2;
break;
case 3: r=n1*n2;
break;
default:
break;
}
}
private void imprimir()
{
JOptionPane.showMessageDialog(null, Elegiste la opcin +op+El
resultado es+ r);
}
public static void main (String args[])
{
Calculadora y=new Calculadora();
y.captura();
y.operacin();
y.imprimir();
}
LIC. VIDALIA GMEZ VZQUEZ
1
2
}
Estructura Selectiva Anidada
La estructura selectiva anidada llamada tambin estructura de decisin
anidada, viene hacer una estructura si-entonces que puede contener
otra estructura
si-entonces, y est a su vez a otra estructura sientonces, y as sucesivamente cualquier nmero de veces; dentro de
cada estructura pueden existir diferentes instrucciones o acciones.
1
3
Ejemplo
Realizar un algoritmo que permita el ingreso de tres notas de un alumno.
Calcular la nota promedio e imprimir alguno de estos mensajes:
a. Si el promedio est entre 20 y 16 mostrar Alumno Excelente
b. Si el promedio est entre 15 y 11 mostrar Alumno Regular
c. Si el promedio est entre 10 y 6 mostrar Alumno Malo
d. Si el promedio est entre 5 y 0 mostrar Alumno Psimo
Primer else
Segundo else
Tercer else
ltimo else
Fin
1
4
Estructura iterativas:
1
5
c=c+
a=a+ 4
Decremento
x=x y=y - 3
Valor constante
Valor variable
Ciclo DoWhile
La repeticin Do While permite controlar la ejecucin de acciones en
forma repetitiva, mientras la condicin de control del ciclo repetitivo sea
verdadero. Una de las caractersticas de este ciclo es que la condicin se
evala o verifica despus que el cuerpo del ciclo se ha ejecutado, lo que
significa que el cuerpo del bucle se ejecutar al menos una vez (no
importa cul sea el valor de la condicin).
1
6
Sintaxis en JAVA
Donde:
Do:
Identifica la estructura como un ciclo
repetitivo e indica el inicio del mismo.
do
{
Accin ( es );
}while
( condicin );
Accin:
ciclo.
While:
Indica el fin del ciclo y significa
mientras se cumpla la condicin, vuelve al inicio del
ciclo DO; en caso contrario, se sale del ciclo DO..WHILE
Condicin: Es una expresin lgica que controla la
repeticin del ciclo.
Ejemplo:
1
7
Ciclo For
1
8
F
inicio; condicin; incremento
V
Accin (es)
Sintaxis en JAVA
for (contador=valorInicial; condicin; incremento)
{
Accin (es)
}
1
9
Donde:
For: Es la palabra reservada que identifica la estructura de repeticin.
Contador: Es una variable que puede ser de tipo int, float o String;
el cual se utilizar como ndice o contador que controlar la repeticin
del ciclo. El contador tomar el valorInicial, se evala la condicin, si
es verdadera, entra al ciclo FOR a ejecutar las acciones que estn
dentro del ciclo, si no es verdadera se sale del ciclo. Al llegar al fin del
for, ste lo regresa al FOR incrementando el contador de acuerdo con
el incremento.
ValorInicial: Es el valor inicial que tomar el contador, puede ser una
constante, variable o expresin de acuerdo con el tipo de dato de la
variable de control del ciclo. Ejemplo: i=1.
Condicin: Es una expresin lgica mediante la que se establece la
condicin de ejecucin del ciclo, es decir, si se cumple entra al ciclo;
si no se cumple se sale del ciclo. Ejemplo: i<=10.
Accin (es): Es una accin o grupo de acciones que se ejecutarn
dentro del ciclo.
Incremento: Es una expresin aritmtica mediante la cual se lleva a
cabo el incremento o decremento del contador del ciclo. Ejemplos:
i=i+1, m=m-1, x=x+2, z=z+2.5.
2
0
Ciclo While
2
1
Sintaxis en JAVA
Donde:
while (condicin)
{
Accin (es)
}
Ejemplo:
Contar los nmeros enteros positivos introducidos por teclado. Se
consideran dos variables enteras NUMERO y CONTADOR (contar el
2
2
2
3
2
4