Está en la página 1de 15

TDS1102 Programación 1 /

BISOFT-02 Programación 1

Tema 5:
Estructuras condicionales en
Java

Copyright  Cenfotec S. A. (Julia Espinoza, Antonio Luna, Jose A. Sánchez y María Eugenia Ucrós)
 Copyright Cenfotec S.A. 2014
Objetivos
• Conocer todas las instrucciones condicionales
del lenguaje de programación Java (if, if-else,
if-else if y switch)
• Usar los conceptos de editar, compilar y
ejecutar un programa escrito en Java.
• Representar en el lenguaje de programación
Java cualquier algoritmo con estructuras
condicionales.

 Copyright Cenfotec S.A. 2014


Estructuras de Selección en Java
Java ofrece 4 tipos de estructuras de selección:
– if (simple)
– if-else (doble)
– if-else if-else if-...-else (con varias condiciones)
– switch (selección múltiple)

Todas estas instrucciones son bastante usadas


en programación, por lo tanto, todas son
importantes de estudiar.

 Copyright Cenfotec S.A. 2014


Estructura de Selección Simple
Ejemplo: Cálculo del salario con horas extra
if ( expresión-booleana ) {
sal = h*p instruccion1;
}
No h>40 Si Nota: aunque tiene una sola
instrucción, el estándar de Sun
sal = sal +
recomienda escribir la
1,5*p*(h-40)
instrucción entre ‘{’ y ‘}’.

sal = h * p;
if ( h > 40 ) {
sal = sal + 1.5 * p * (h – 40);
}  Copyright Cenfotec S.A. 2014
Estructuras de Selección Doble
Ejemplo: Cálculo del salario con horas extras
if ( expresión-booleana ) {
No Si
instruccion1;
h>40
} else {
sal = h*p sal = 40*p + instruccion2;
1,5*p*(h-40) }
Nota: igual a la anterior.

if ( h > 40 ) {
sal = 40 * p + 1.5 * p * (h – 40);
} else {
sal = h * p;
}  Copyright Cenfotec S.A. 2014
Selección Doble con múltiples
instrucciones
Ejemplo: Cálculo del salario con horas extra
if (expresión-booleana ) {
No h>40 Si instruccion;
instruccion;
sal = h*p sal = 40*p
sal = sal + 1,5*p*(h-40)
...
} else {
instrucción;
instruccion;
if ( h > 40 ) { ....
sal = 40 * p; }
sal += (1.5 * p * (h – 40));
} else {
sal = h * p;
}
 Copyright Cenfotec S.A. 2014
Expresiones booleanas
Ejemplo:
Mes es 1,3,5,7,8,10,12
Validación de una Y 1  Dia  31 Ó
No Mes es 4,6,9,11 Si
fecha
Y 1  Dia  30 Ó
Mes es 2
Imprimir Y 1  Dia  28 Imprimir
“Incorrecta” “Correcta”

if (( ( m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12 ) &&


( d >= 1 && d <= 31 ) ) ||
( ( m==4 || m==6 || m==9 || m==11 ) && ( d >= 1 && d <= 30 ) ) ||
( ( m==2 ) && ( d >= 1 && d <= 28 ) ) ) {
System.out.println(“Fecha Correcta”);
} else {
System.out.println(“Fecha Incorrecta”);
}
 Copyright Cenfotec S.A. 2014
Estructuras Condicionales Anidadas

Ejemplo: Cálculo del Inicio if ( a < b) {


menor de tres if (a < c) {
números Leer a,b,c men=a;
} else {
men=c;
No a<b Si
}
No Si No Si
} else {
b<c a<c
if (b < c) {
men = c men=b men=c men = a men=b;
} else {
men=c;
Imprimir men }
}
Fin
 Copyright Cenfotec S.A. 2014
Estructuras de Selección con varias
condiciones
Inicio
Ejemplo: Conversión de notas a calificaciones
if ( n >=90) { Leer n
cal= 'A';
No n  90 Si
} else if ( n >=80) {
cal= 'B'; No n  80 Si
cal = ´A´
} else if ( n >=70) { cal = ´B´
cal= 'C'; No n  70 Si

} else { cal =´D´ cal = ´C´


cal= 'D';
}
Imprimir cal

Fin
 Copyright Cenfotec S.A. 2014
Estructuras de Selección Múltiple
Modelaje:
Entradas
Estado civil (n:estado, t:caracter, d:(‘s’,’c’,’u’,’v’)
Salidas
Nombre del estado civil (t:texto, d:(“Soltero”,”Casado”,”Viudo”,
“Union Libre”))

estado

‘s’ ‘c’ ‘v’ ‘u’ otro valor


Imprimir Imprimir Imprimir Imprimir Imprimir
“Soltero” “Casado” “Viudo” “Unión Libre” “Error”

… … … … …
 Copyright Cenfotec S.A. 2014
Selección múltiple: Instrucción switch
en Java
switch ( estado ) { switch ( Expresion ) {
case ´S´: case valor1:
System.out.println(“Soltero”); Instrucción1;
break; Instrucción2;
case ´C´: break;
System.out.println(“Casado”); case valor2:
break; Instrucción1;
case ´V´: Instrucción2;
System.out.println(“Viudo”); break;
break; default:
case ´U´: Instrucción1;
System.out.println(“Unión Libre”); Instrucción2;
break; break;
default: }
System.out.println(“Error”); Nota: no se necesita ‘{’ para los
break; “case”, ni para el “default”
}
 Copyright Cenfotec S.A. 2014
Selección múltiple: Agrupación de
casos
Entradas
Estado civil (n:estado, t:caracter, d:(‘s’,’c’,’u’,’v’))
Salidas
Renta que corresponde (n:renta, t:real)
Intermedias
Salario devengado (n:salario, t:real)
Pensión que corresponde (n: pensión, t:real)

estado

‘c’ ,‘u’ ‘v’,‘s’ ‘d’ otro valor


renta =0 renta =salario renta =salario- Imprimir
pension “Error”
Imprimir Imprimir
renta renta Imprimir …
… … renta
…  Copyright Cenfotec S.A. 2014
Selección múltiple: Agrupación de
casos
switch ( estado ) {
case ´C´: case ´U´:
renta = 0;
System.out.println(renta);
break;
case ´S´: case ´V´:
renta = salario;
System.out.println(renta);
break;
case ´D´:
renta = salario – pension;
System.out.println(renta);
break;
default:
System.out.println(“Error”);
break;
}
 Copyright Cenfotec S.A. 2014
Tarea #7 – Jueves 5 de Julio
a. Hacer un programa en Java que reciba una fecha (día, mes y año) y
calcule e imprima la fecha “dentro de ocho días” con respecto a la
fecha recibida (en el formato día, mes y año).
b. Escriba un programa que dados los tres lados de un triángulo diga si
es un triángulo rectángulo. Un triángulo es rectángulo si la suma de
los cuadrados de dos de sus lados es igual al cuadrado del tercer lado.
Suponga que el tercer lado siempre es la hipotenusa.

 Copyright Cenfotec S.A. 2014


Tarea #7 – Jueves 5 de Julio
c. La familia Ruiz decidió ir a almorzar al restaurante "La laguna verde"
especialista en la venta de pescados y mariscos. Estuvieron de suerte ya que en
esa semana se celebraba el festival de la langosta, y había un descuento para los
clientes que ordenaran "Langosta al Ajillo", este descuento era del 20% sobre el
precio original de este platillo, que es de 2500 colones. Adicionalmente en este
restaurante se vendía sopa de mariscos a 1500 colones y filete de pescado a
1700 colones. Teniendo en cuenta que en la familia Ruiz hay 4 personas, haga
un programa que dado el pedido de cada integrante de la familia calcule el
valor de la cuenta.

 Copyright Cenfotec S.A. 2014

También podría gustarte