Está en la página 1de 25

Estructuras de Control

Corina Flores Villarroel


UMSS - Programa MEMI

Corina Flores V Programa MEMI


Introducción
 Recordemos … 1. Bloque de
declaraciones
 Un programa se define:
Su misión consiste en indicar
al procesador que reserve
“Secuencia de instrucciones espacio en la memoria para
lógicamente ordenadas que una constante, variable u
pueden ser ejecutadas en una objeto del programa, indicando
computadora”. asimismo su tipo y nombre.

Corina Flores V Programa MEMI


Introducción
 Recordemos … 2. Bloque de instrucciones
Constituído por un conjunto de operaciones
y la secuencia de instrucciones que se han
 Un programa se define:
de realizar para la obtención de los
resultados deseados. Dentro de éste bloque
“Secuencia de instrucciones se diferencian tres partes fundamentales:
lógicamente ordenadas que
pueden ser ejecutadas en una (a) Entrada de datos: instrucciones que toman
datos de un dispositivo externo.
computadora”.
(b) Proceso: instrucciones que
modifican/procesan los datos.

(c) Salida de resultados: instrucciones que


toman los datos finales de la memoria
central y los envía a dispositivos externos.

Corina Flores V Programa MEMI


Introducción
 Recordemos …

 Esto nos dá la idea de que las


instrucciones estan ordenadas de tal
manera que una está a continuación de la
otra.

Corina Flores V Programa MEMI


Introducción
 Lo que significa …
 Pensar en un sentido muy restringido, ya
que obligan a mantener una secuencia
para su ejecución.

 Sin embargo, … también hay necesidad de


que durante la ejecución del programa el
orden de ejecución de las instrucciones
sean alteradas.

Corina Flores V Programa MEMI


Estructuras de Control
 Las estructuras de control tienen una
finalidad bastante definida: señalar el orden
en que tienen que sucederse o ejecutarse los
pasos de un algoritmo o instrucciones en un
programa.

 Existen:
 Secuenciales,
 Pueden ser de: Selección e Iterativas

Corina Flores V Programa MEMI


Secuenciales
 Como ya se había indicado … son
estructuras que obedecen la linealidad, es
decir, no admiten saltos

1. A la ejecución de una instrucción le sigue otra


o la siguiente instrucción y así sucesivamente.

2. Mantiene la secuencia de acciones en el orden


en el que aparecen las instrucciones.

Corina Flores V Programa MEMI


Secuenciales … ejemplo
public class Secuencial
int x;
{
public static void main(String [] args)
{
int y;
int x;
int y; x = 10;
x = 10;
y = 2; .
x = x - y;
y = x/4;
System.out.println("El valor de x es = " + x);
System.out.println("El valor de y es = " + y);
.
} System.out
}

Corina Flores V Programa MEMI


Otras estructuras …
 Pero … no necesariemente todos los
programas pueden ejecutarse de esta
forma secuencial, hay necesidad de variar
el flujo de control de un programa ya sea
para …
 Tomar decisiones (Selección) y/o

 Repetir un conjunto de instrucciones


(Iteración)

Corina Flores V Programa MEMI


Selección
 La sentencia de selección IF, permite tomar
decisiones en base a una condición lógica.
Luego decide qué sucederá en función al
resultado. A esta sentencia también se
conoce como:

 Selección
 Condicional
 De decisión

Corina Flores V Programa MEMI


Selección
 Por ejemplo, si un programa muestra un
mensaje en la pantalla que pregunta al
usuario ”¿Desea seguir adelante?”,
obviamente, de la respuesta del usuario
dependerá la siguiente acción del programa.

 El programador debe escribir el código para


las dos posibilidades (sí y no), aunque
cuando el programa esté funcionando, sólo
se elegirá una.
Corina Flores V Programa MEMI
Selección
 La sentencia IF, se puede emplear de
diferentes maneras:

 A) Simple
 B) Concatenada
 C) Anidada

Corina Flores V Programa MEMI


Selección … simple (if)
if (condición)
V
instrucción cond

F int x;
if (condición) {
bloque
}

Condición, es una
expresión booleana

Corina Flores V Programa MEMI


Selección … ejemplo
public class Simple_if
{
public static void main(String [] args)
{ int a, b;
a = 10; b = 5;
if (a > b) // if simple, con una instruccion
System.out.println("** a es mayor que b ** ");

if (a > b) { // if simple, con un bloque de instrucciones


System.out.println("A es mayor que B ");
System.out.println("El valor de A es = " + a);
System.out.println("El valor de B es = " + b);
}
}
}

Corina Flores V Programa MEMI


Selección … simple (if)
 Pero no siempre el resultado de la
condición es verdadera, entonces
hay necesidad de incluir la cláusula
else en caso de que el resultado sea
falso.
 Entonces podemos concatenar
sentencias if

Corina Flores V Programa MEMI


Selección … concatenación
if (condición) { F V
bloque cond
}
else {
bloque
}

Corina Flores V Programa MEMI


Secuenciales … ejemplo
public class Concatenacion_If
{
public static void main(String [] args)
{ int a, b;
a = 1; b = 5;
if (a > b) { // por Verdad
a = a - b;
System.out.println("El valor de A es = " + a);
}
else { // por Falso
b = b*a;
System.out.println("El valor de B es = " + b);
}
}
}

Corina Flores V Programa MEMI


Selección … anidación
if (condición1) { F V
if (condición2) { cond
bloque1 F cond V
}
else {
bloque2
}
} F V
else { cond
if (condición3) {
bloque3
}
else {
bloque4
}
}

Corina Flores V Programa MEMI


Selección … ejemplo
public class Anidacion_If
{
public static void main(String [] args)
{
int edadJuan = 20;
int edadJose = 18;

if (edadJuan < edadJose)


System.out.println("Juan es mas joven que Jose");
else
if (edadJuan == edadJose)
System.out.println("Juan tiene la misma edad que Jose");
else
System.out.println("Juan es mayor que Jose");
}
}

Corina Flores V Programa MEMI


ERRORES Comunes
 Olvidar los () en la condición
 Confundir el operador relación ==
con el de asignación =
 Colocar mal los if anidados
 No tener en cuenta el orden de
precedencia de los operadores en la
condición.

Corina Flores V Programa MEMI


Condicional Switch
 Cuando en una condición existen diversas
posibilidades nos vemos obligados a
utilizar if anidados, lo que complica la
realización y depuración del código.

 Para facilitar esta situación se tiene la


condicional switch que permite definir un
número ilimitado de ramas basadas en una
misma condición.

Corina Flores V Programa MEMI


Selección … concatenación
switch (condición) {
case literal1:
cond
instrucciones;
break;
case literal2: Caso1 Caso2 CasoN
instrucciones; …
break;

default
bloque;
}

Corina Flores V Programa MEMI


Condicional Switch
 La condición, puede ser una
expresión, siendo ésta ya sea una
fórmula, una variable, un valor

 El literal, se refiere a los valores


explícitos que se pueden definir
como: 100, a, -

Corina Flores V Programa MEMI


switch … ejemplo
public class Switch{
public static void main (String [] args) {
char letra='p';
switch(letra) {
case 'a': case 'A':
System.out.println("Es la vocal a, que viene de Araña");
break;
case 'e': case 'E':
System.out.println("Es la vocal e, que viene de Elefante\n");

break;
...
default: System.out.println("Es una consonante\n");
} // switch
} // main
}

Corina Flores V Programa MEMI


ERRORES Comunes
 En la Condicional se declaren tipos
no permitidos (solo se permite char,
int, byte, short)
 Omitir la sentencia break trae como
consecuencia, ejecutar el siguiente
case.

Corina Flores V Programa MEMI

También podría gustarte