Sei sulla pagina 1di 32

Estructuras de Decisin

Estructuras de Decisin

Son estructuras de seleccin que permiten tomar distintos cursos de accin de acuerdo a una condicin. Esta condicin viene dada por una expresin lgica Generalmente cuando se nos plantea un problema nos vemos ante la necesidad de tomar una o ms decisiones. A veces hay que escoger entre una o mas alternativas posibles

Expresiones Lgicas
Las expresiones lgicas se definen como un conjunto de operadores y operandos. Son las que devuelven como resultado un valor booleano (true o false). Contienen operadores relacionales y/o operadores lgicos.

Ejemplo:

(X >= Y) (X >= Y) && (X>= Z) (A != 0) || (A != 5)

Operadores Relacionales.

Operador

Nombre igual distinto mayor que menor que mayor o igual menor o igual

Ejemplo 1 1 1 1 1 1 == 2 != 2 >2 <2 >= 2 <= 2

Respuesta false true false true false true

== != > < >= <=

Operadores Lgicos.

Operador

Significado and or

&& ||
Tablas de valores lgicos:
AND

T F

T F T F F F

OR

T F

T F T T T F

Operadores
Orden de precedencia en los operadores:
1. 2. 3. 4. 5. 6. 7. 8.

++ -* / % + < > <= >= == != & | = *= /= %= -=

+=

Estructuras de Decisin

if
if (expresin lgica)
{ else { <bloque de instrucciones> } <bloque de instrucciones > }

Estructuras de Decisin
Veamos un ejemplo .
class CPrueba { public static void main(String arg[]) { int a , b; a = 1; b = 3; if (a < b) { System.out.println(a); } else { System.out.println(b); } } }

Decisin Anidada

if (expresin lgica) { if (expresin lgica) { else { <bloque de instrucciones > } <bloque de instrucciones > }

} else {

<bloque de instrucciones > }

Decisin Anidada

if (dato > 10) { if (dato < 20 ) { System.out.println ( entre 10 y 20);} else System.out.println(mayor o igual a 20); } else System.out.println (menor o igual a 10);

Decisin anidada
Otra forma de Decisin Anidada es:

If (condicin) if (condicin) accin else accin else if (condicin) accin else accin

1 2 3 4

donde en ambos casos tenemos otras condiciones que considerar.

Decisin anidada

If (dato > 10) { if (dato < 20) System.out.println ( entre 10 y 20) else System.out.println (mayor o igual a 20);} Else if (dato > 0 ){ System.out.println ( entre 1 y 10 inclusive); else System.out.println ( igual o menor a cero);}

Estructuras de Decisin

if else - if
if (expresin lgica) { <bloque de instrucciones > } else if (expresin lgica) { <bloque de instrucciones > } else if (expresin lgica)

...
else

<bloque de instrucciones > }

<bloque de instrucciones > }

Estructuras de Decisin
class CEvaluar { public static void main (String args[]) { int d; double x; System.out.println ("Introduzca el valor de d "); d = CTeclado.ReadInt(); if (d > 0) { x = (-4 + Math.sqrt (d))/2; } else if (d == 0) { x = -4/2; } else { x = (-4 + Math.sqrt (Math.abs (d)) )/2; } System.out.println ("El valor de x es " + x); } }

Estructuras de Decisin
switch (variable) { case valor1: instrucciones; break; case valor2: instrucciones; break; default: instrucciones; break; }
con valores enteros o carcter. Cuando la expresin coincide con algn literal de la sentencia case(valor ..), se ejecutan las instrucciones correspondientes a ese caso. Si ninguna de las constantes coincide con la expresin, se ejecutal el default si existe. Si no existe el default, no se ejecuta nada. La sentencia break se utiliza para terminar una secuencia de instrucciones, haciedo que la ejecucin salte a la primera lnea de cdigo que sigue a la sentencia swicht completa. La sentencia break es opcional, de omitirse la ejecucin continuar en el siguiente case.

variable debe ser compatible

switch

Estructuras de Decisin
Ejemplo:
siwtch (edoCiv){ case s: System.out.println (El estado civil de la persona es soltero(a)); break; case c: System.out.println (El estado civil de la persona es casado(a)); break; case d: System.out.println (El estado civil de la persona es divorciado(a)); break; case v: System.out.println (El estado civil de la persona es viudo(a)); break;}

Estructuras de Decisin
Qu pasa si tenemos mltiples acciones en una decisin?

If (condicion1) { accin 1 accin 2} Else { accin3 accin4}

Estructuras de Repeticin

Lo que guardas en tu mente con relacin al

mundo es lo que veras alrededor del mundo. Lo que guardas en tu mente con relacin a lo que es tu vida es lo que vers en tu vida

Estructuras de Repeticin

Hasta ahora podramos resolver problemas donde las acciones se ejecutan slo una vez. Qu pasa si necesito repetir las acciones? La estructuras de repeticin nos permite indicar las acciones que queremos repetir, un nmero determinado o indeterminado de veces.

Estructuras de Repeticin
Hay dos tipos de estructuras de repeticin. La primera es aquella en donde se tiene perfectamente establecido el nmero de veces que un grupo de acciones se van a ejecutar (20, 5, 2 veces) La segunda es aquella en la cual el nmero de repeticiones es desconocido y se har hasta que se cumpla o no cierta condicin.

Estructuras de Repeticin
El segundo tipo de estructura repetitiva se diferencia de la primera en que no se conoce el nmero de repeticiones o iteraciones en que se va a ejecutar una accin o un bloque de acciones. Estas estructuras son bsicamente dos: Estructura Mientras ...fin-mientras Estructura Repetir.... hasta

Estructura de Repeticin

while

while (condicin de parada) { bloque de instrucciones; }

Debemos identificar la condicin de parada la cual indica cundo termina la repeticin.

Estructura de Repeticin
La variable que controla la condicin de parada debe ser modificada dentro de la repeticin. La repeticin puede no ejecutarse nunca.
class DiezNumeros{ static int numero; public static void main (String args[ ]){ numero=10; while(numero > 0){ System.out.println (El numero es +numero); numero--;} System.out.pritnln(Fin); } }

while

Estructura de Repeticin
Evala su expresin condicional al inicio del bucle. Repite un bloque de instrucciones, mientras su expresin sea verdadera. Cuando la expresin es falsa, el control pasa a la siguiente lnea de cdigo que hay inmediatamente despus del bucle. Puede suceder que el bloque de intrucciones nunca se ejecute.

while

Un acumulador es una variable que se incrementa en funcin de otra variable. Es un campo de memoria cuyo valor se incrementa sucesivas veces en cantidades variables. Se utiliza en aquellos casos en que se desea obtener el total acumulado de un conjunto de cantidades, siendo preciso inicializarlo con el valor 0.

acumulador + = valor variable (JAVA);

Un contador es una variable que se incrementa en funcin de un valor constante. Es un campo de memoria cuyo valor se incrementa en una cantidad fija, positiva o negativa, generalmente asociado a una repeticin. Toma un valor inicial antes de comenzar su funcin, y cada vez que se realiza el suceso, incrementa su valor. El contador tambin se puede inicializar en cero. contador ++;

Do-while Estructura de Repeticin


Otra estructura de repeticin es: Como con el Mientras debemos identificar la condicin de parada. Y tambin en este caso la variable que controla esa condicin de parada debe ser modificada dentro de la repeticin.
do { bloque de instrucciones } while (condicin);

Sentencias de Repeticin
Evala su expresin condicional al final del bucle. Repite un bloque de instrucciones, mientras su expresin sea verdadera. Cuando la expresin es falsa, el control pasa a la siguiente lnea de cdigo que hay inmediatamente despus del bucle. El bloque de instrucciones de este ciclo se ejecuta al menos una vez.

Do-while

Sentencias de Repeticin

Do-while

Class DiezPrimerosNumeros{ static int numero; public static void main (String args [] ){ numero=10; do{ System.out.println (El numero es +numero); numero--; } while (numero <= 0) ; System.out.println(Fin); }//Cierre del main }//Cierre de la clase

Diferencias entre las estructuras Mientras(While) y Repetir (DO-While)


Mientras Comprobacin de la condicin al inicio, antes de entrar al ciclo Las instrucciones del cuerpo del ciclo se ejecutan en forma repetitiva si la condicin es verdadera Las acciones del ciclo se pueden ejecutar 0 o ms veces Repetir Comprobacin de la condicin al final, despus de haber ingresado una vez al ciclo Las estructuras del cuerpo del ciclo se ejecutan si la condicin es falsa Las acciones del ciclo se ejecutan por lo menos una vez

For Estructura de Repeticin


for (expr. inicial; expr. Lgica;modificacion) { bloque de instrucciones; }

En este caso la repeticin se realiza un nmero determinado de veces, delimitado por los valores inicial y final dados.

Estructura de Repeticin
El valor inicial debe ser menor que el final. En caso contrario no se ejecuta la repeticin. La modificacin de la variable de control es automtica en incrementos o decrementos especficos. Class DiezPrimerosNumeros{ static int numero; public static void main (String args [] ){ numero=10; for (int i=0;i<= numero;i++){ System.out.println (El numero es +i); } System.out.println(Fin); }//Cierre del main }//Cierre de la clase

For

Potrebbero piacerti anche