3. ESTRUCTURAS DE CONTROL
La forma de tomar decisiones en un programa es a través
de las Estructuras de Control.
EISC
Universidad del Valle - Algoritmia y Programación
Slide 3
4. ESTRUCTURAS DE CONTROL
La forma de tomar decisiones en un programa es a través
de las Estructuras de Control.
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
EISC
Universidad del Valle - Algoritmia y Programación
Slide 4
5. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
Entradas: ??
Salidas: ??
Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 5
6. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
Entradas: edad
Salidas: ??
Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 6
7. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
Entradas: edad
Salidas: impresión de mensaje de texto (anuncio)
Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 7
8. Conceptos preliminares
Análisis del problema
edad
Proceso?
Impresión de
mensaje
EISC
Universidad del Valle - Algoritmia y Programación
Slide 8
9. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
Entradas: edad
Salidas: mensaje de texto
Proceso:
SI la edad es mayor o igual que 18
EISC
Universidad del Valle - Algoritmia y Programación
Slide 9
10. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
Entradas: edad
Salidas: mensaje de texto
Proceso:
SI la edad es mayor o igual que 18
Mostrar el mensaje “Usted es mayor de edad”.
EISC
Universidad del Valle - Algoritmia y Programación
Slide 10
11. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
Entradas: edad
Salidas: mensaje de texto
Proceso:
SI la edad es mayor o igual que 18
Mostrar el mensaje “Usted es mayor de edad”.
SI NO
EISC
Universidad del Valle - Algoritmia y Programación
Slide 11
12. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
Entradas: edad
Salidas: mensaje de texto
Proceso:
SI la edad es mayor o igual que 18
Mostrar el mensaje “Usted es mayor de edad”.
SI NO
mostrar el mensaje “Usted es menor de edad”
EISC
Universidad del Valle - Algoritmia y Programación
Slide 12
13. Conceptos preliminares
Análisis del problema
edad
Si edad > = 18
Imprimir usted es mayor de edad
Sino
Imprimir usted es menor de edad
Impresión
de mensaje
EISC
Universidad del Valle - Algoritmia y Programación
Slide 13
14. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
???
Fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 14
15. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
??
Como expresar la
condición “la edad es
mayor que 18” en
pseudocódigo??
Fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 15
16. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
SI edad >= 18
Fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 16
17. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
SI edad > =18
imprimir(“Usted es mayor de edad”)
Fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 17
18. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
SI edad > =18
imprimir(“Usted es mayor de edad”)
SINO
Fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 18
19. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
SI edad > =18
imprimir(“Usted es mayor de edad”)
SINO
imprimir(“Usted es menor de edad”)
Fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 19
20. EJERCICIO ESTRUCTURA
DE CONTROL
Problema: Se requiere de un programa que permita leer:
dos números enteros y la opción de la operación
matemática que deseen realizar:
opción
operación
1
Suma
2
Resta
3
Multiplicación
4
División
Según la opción elegida se debe mostrar el resultado de la
operación sobre los dos números
EISC
Universidad del Valle - Algoritmia y Programación
Slide 20
21. OPERADORES RELACIONALES
Actúan sobre valores enteros, reales y caracteres. Estos
operadores retorna un valor booleano.
EISC
Universidad del Valle - Algoritmia y Programación
Slide 21
22. OPERADORES RELACIONALES
Ejercicio:
int n;
Exprese las siguientes condiciones en java:
n es menor que 30
n es igual que 60
n es mayor o igual que 90
EISC
Universidad del Valle - Algoritmia y Programación
Slide 22
23. OPERADORES RELACIONALES
Ejercicio:
int n;
Exprese las siguientes condiciones en java:
n es menor que 30
n < 30
n es igual que 60
n es mayor o igual que 90
EISC
Universidad del Valle - Algoritmia y Programación
Slide 23
24. OPERADORES RELACIONALES
Ejercicio:
int n;
Exprese las siguientes condiciones en java:
n es menor que 30
n < 30
n es igual que 60
n==60
n es mayor o igual que 90
n>=90
EISC
Universidad del Valle - Algoritmia y Programación
Slide 24
25. OPERADORES LÓGICOS
Actúan sobre operadores o expresiones lógicas, como las
tablas de verdad.
EISC
Universidad del Valle - Algoritmia y Programación
Slide 25
26. OPERADORES LÓGICOS
Ejercicio:
int n;
Exprese las siguientes condiciones en java:
n pertenece al rango [-10,30]
n es menor o igual que 40
n es diferente de 30 ó mayor que 100
EISC
Universidad del Valle - Algoritmia y Programación
Slide 26
27. OPERADORES LÓGICOS
Ejercicio:
int n;
Exprese las siguientes condiciones en java:
n pertenece al rango [-10,30]
((n>=-10) && (n<=30))
n es menor o igual que 40
n es diferente de 30 ó mayor que 100
EISC
Universidad del Valle - Algoritmia y Programación
Slide 27
28. OPERADORES LÓGICOS
Ejercicio:
int n;
Exprese las siguientes condiciones en java:
n pertenece al rango [-10,30]
((n>=-10) && (n<=30))
n es menor o igual que 40
n<=40
n es diferente de 30 ó mayor que 100
EISC
Universidad del Valle - Algoritmia y Programación
Slide 28
29. OPERADORES LÓGICOS
Ejercicio:
int n;
Exprese las siguientes condiciones en java:
n pertenece al rango [-10,30]
((n>=-10) && (n<=30))
n es menor o igual que 40
n<=40
n es diferente de 30 ó mayor que 100
((n!=30 ) || (n>100))
EISC
Universidad del Valle - Algoritmia y Programación
Slide 29
30. EJERCICIO ESTRUCTURA
DE CONTROL
Problema: Se requiere de un programa que permita leer:
la cédula,
salario básico y año de vinculación de un
empleado y que permita calcular su salario neto sabiendo
que:
Si gana más de $1200000 y entro a trabajar después de
1990 se le debe descontar un 8%.
Si gana menos de 550000 ó entró a trabajar en 1990 se le
descuenta 2%.
En cualquier otro caso se descontará el 5% del salario.
El programa debe imprimir la cédula y salario neto del
empleado.
EISC
Universidad del Valle - Algoritmia y Programación
Slide 30
31. EJERCICIO
IF-ELSE
1. Análisis del problema
Entradas: cedula, ahno, salarioBasico
Salidas: salarioNeto
Proceso:
??
cedula ahno,
salarioBasico
Proceso?
cedula
salarioNeto
EISC
Universidad del Valle - Algoritmia y Programación
Slide 31
32. EJERCICIO
IF-ELSE
1. Análisis del problema
Entradas: cedula, ahno, salarioBasico
Salidas: salarioNeto
Proceso:
SI el salarioBasico es mayor que 1200000, y el ahno es mayor 1990
salarioNeto= salarioBasico - salarioBasico *0.08
SINO
SI el salarioBasico es menor que 550000, o el ahno es igual 1990
salarioNeto= salarioBasico - salarioBasico *0.02
SINO
salarioNeto= salarioBasico - salarioBasico *0.05
EISC
Universidad del Valle - Algoritmia y Programación
Slide 32
33. Conceptos preliminares
Análisis del problema
SI el salarioBasico > 1200000 y
ahno es >1990
cedula ahno,
salarioBasico
salarioNeto= salarioBasico - ( salarioBasico *0.08 )
SINO
SI el salarioBasico > 550000, o ahno == 1990
cedula
salarioNeto
salarioNeto= salarioBasico - salarioBasico *0.02
SINO
salarioNeto= salarioBasico - salarioBasico *0.05
EISC
Universidad del Valle - Algoritmia y Programación
Slide 33
34. EJERCICIO
IF-ELSE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
cedula, ahno: entero
salarioBasico, salarioNeto: real
leer(cedula)
leer(ahno)
leer(salarioBasico)
???
imprimir(cedula)
imprimir(salarioNeto)
fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 34
35. EJERCICIO
IF-ELSE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
cedula, ahno: entero
salarioBasico, salarioNeto: real
leer(cedula)
leer(ahno)
leer(salarioBasico)
SI (salarioBasico > 1200000) Y (ahno>1990)
salarioNeto= salarioBasico – (salarioBasico *0.08 )
SINO
SI (salarioBasico < 550000) O (ahno==1990)
salarioNeto= salarioBasico – (salarioBasico *0.02)
SINO
salarioNeto= salarioBasico – (salarioBasico *0.05)
imprimir(cedula)
imprimir(salarioNeto)
fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 35
36. EJERCICIO
IF-ELSE
3. Realizar una prueba de escritorio para el algoritmo
Cédula
Año
vinculación
Salario
Bruto
Salario
Neto
11301245
2000
1.300.000
1.170.000
3036978
1990
400.000
392.000
5045893
1985
2.000.000
1.900.000
EISC
Universidad del Valle - Algoritmia y Programación
Slide 36
38. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
4. Codificar el algoritmo usando algún lenguaje de
programación
pseudocódigo
Java
SI edad > 18
imprimir(“Usted es mayor de edad”)
SINO
imprimir(“Usted es menor de edad”)
EISC
Universidad del Valle - Algoritmia y Programación
Slide 38
39. ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
4. Codificar el algoritmo usando algún lenguaje de
programación
pseudocódigo
SI edad >= 18
imprimir(“Usted es mayor de edad”)
SINO
imprimir(“Usted es menor de edad”)
Java
Estructura
de Control
if-else
EISC
Universidad del Valle - Algoritmia y Programación
Slide 39
40. ESTRUCTURA
IF-ELSE
SI edad >= 18
imprimir(“Usted es mayor de edad”)
SINO
imprimir(“Usted es menor de edad”)
EISC
Universidad del Valle - Algoritmia y Programación
Slide 40
41. ESTRUCTURA
IF-ELSE
SI (edad >= 18)
Las condiciones en
Java se colocan
entre paréntesis
imprimir(“Usted es mayor de edad”)
SINO
imprimir(“Usted es menor de edad”)
EISC
Universidad del Valle - Algoritmia y Programación
Slide 41
42. ESTRUCTURA
IF-ELSE
El pseudocodigo SI,
se reemplaza por la
palabra reservada if
if (edad >= 18)
{
imprimir(“Usted es mayor de edad”)
}
SINO
imprimir(“Usted es menor de edad”)
EISC
Universidad del Valle - Algoritmia y Programación
Slide 42
43. ESTRUCTURA
IF-ELSE
if (edad >= 18)
{
imprimir(“Usted es mayor de edad”)
}
else
{
imprimir(“Usted es menor de edad”)
}
El pseudocodigo
SINO, se reemplaza
por la palabra
reservada else
EISC
Universidad del Valle - Algoritmia y Programación
Slide 43
44. ESTRUCTURA
IF-ELSE
SI edad >= 18
imprimir(“Usted es mayor de edad”)
SINO
imprimir(“Usted es menor de edad”)
if (edad >= 18)
{
JOptionPane.showMessageDialog(null,“Usted es mayor de edad”);
}
else
{
JOptionPane.showMessageDialog(null,“Usted es menor de edad”);
}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 44
45. ESTRUCTURA
IF-ELSE
La estructura de control if-else permite ejecutar una serie
de instrucciones solo cuando se cumple una condición
establecida
EISC
Universidad del Valle - Algoritmia y Programación
Slide 45
46. ESTRUCTURA
IF-ELSE
La estructura de control if-else permite ejecutar una serie
de instrucciones solo cuando se cumple una condición
establecida
EISC
Universidad del Valle - Algoritmia y Programación
Slide 46
47. ESTRUCTURA IF-ELSE
Problema: Desarrollar una aplicación Java que solicite la
edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
SI edad >= 18
imprimir(“Usted es mayor de edad”)
SINO
Fin
imprimir(“Usted es menor de edad”)
EISC
Universidad del Valle - Algoritmia y Programación
Slide 47
48. ESTRUCTURA
IF-ELSE
Inicio
edad: entero
public class MayorEdad
leer (edad)
{
public static void main(String args[])
SI edad >= 18
{
imprimir(“Usted es mayor de edad”)
// Variable de entrada
SINO
imprimir(“Usted es menor de edad”)
int edad;
Fin
// Lectura de los datos de entrada
edad=Integer.parseInt(JOptionPane.showInputDialog(“Ingrese su edad:”));
// Proceso
if (edad>=18)
{
JOptionPane.showMessageDialog(null,"Usted es mayor de edad");
}
else
{
JOptionPane.showMessageDialog(null,"Usted es menor de edad");
}
}
}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 48
49. EJERCICIO
IF-ELSE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
cedula, ahno: entero
salarioBasico, salarioNeto: real
leer(cedula)
leer(ahno)
leer(salarioBasico)
SI (salarioBasico > 1200000) Y (ahno>1990)
salarioNeto= salarioBasico - salarioBasico *0.08
SINO
SI (salarioBasico < 550000) O (ahno==1990)
salarioNeto= salarioBasico - salarioBasico *0.02
SINO
salarioNeto= salarioBasico - salarioBasico *0.05
imprimir(cedula)
imprimir(salarioNeto)
fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 49
50. EJERCICIO
IF-ELSE
4. Codificar el algoritmo usando algún lenguaje de programación
pseudocódigo
SI (salarioBasico > 1200000) Y (ahno>1990)
salarioNeto= salarioBasico - salarioBasico *0.08
SINO
SI (salarioBasico < 550000) O (ahno==1990)
salarioNeto= salarioBasico - salarioBasico *0.02
SINO
salarioNeto= salarioBasico - salarioBasico *0.05
Código Java
EISC
Universidad del Valle - Algoritmia y Programación
Slide 50
51. EJERCICIO
IF-ELSE
4. Codificar el algoritmo usando algún lenguaje de programación
pseudocódigo
SI (salarioBasico > 1200000) Y (ahno>1990)
salarioNeto= salarioBasico - salarioBasico *0.08
SINO
SI (salarioBasico < 550000) O (ahno==1990)
salarioNeto= salarioBasico - salarioBasico *0.02
SINO
salarioNeto= salarioBasico - salarioBasico *0.05
Código Java
if ((salarioBasico > 1200000) && (ahno>1990)){
salarioNeto= salarioBasico - salarioBasico*0.08;
}
else{
if((salarioBasico < 550000) || (ahno==1990)){
salarioNeto= salarioBasico - salarioBasico*0.02;
}
else{
salarioNeto= salarioBasico - salarioBasico*0.05;
}
}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 51
52. EJERCICIO
4.
IF-ELSE
Codificar el algoritmo usando algún lenguaje de programación
import javax.swing.JOptionPane;
public class Nomina {
public static void main(String args[])
{ int cedula, ahno; double salarioBasico, salarioNeto;
cedula =Integer.parseInt(JOptionPane.showInputDialog(“Ingrese cedula:”));
ahno =Integer.parseInt(JOptionPane.showInputDialog(“Ingrese ahno:”));
salarioBasico =Double.parseDouble(JOptionPane.showInputDialog(“Ingrese salario básico:”));
if ((salarioBasico > 1200000) && (ahno>1990))
{
salarioNeto= salarioBasico - salarioBasico*0.08;
}
else
{
if((salarioBasico < 550000) || (ahno==1990))
{
salarioNeto= salarioBasico - salarioBasico*0.02;
}
else
{
salarioNeto= salarioBasico - salarioBasico*0.050;
}
}
JOptionPane.showMessageDialog(null,“cedula:“+ cedula+”n”+”salario neto:”+ salarioNeto);
}}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 52
53. EJERCICIO
4.
IF-ELSE
Codificar el algoritmo usando algún lenguaje de programación
import javax.swing.JOptionPane;
public class Nomina {
public static void main(String args[])
{ int cedula, ahno; double salarioBasico, salarioNeto;
cedula =Integer.parseInt(JOptionPane.showInputDialog(“Ingrese cedula:”));
ahno =Integer.parseInt(JOptionPane.showInputDialog(“Ingrese ahno:”));
salarioBasico =Double.parseDouble(JOptionPane.showInputDialog(“Ingrese salario básico:”));
if ((salarioBasico > 1200000) && (ahno>1990))
{
salarioNeto= salarioBasico - salarioBasico*0.08;
}
else
{
if((salarioBasico < 550000) || (ahno==1990))
{
salarioNeto= salarioBasico - salarioBasico*0.02;
}
else
{
salarioNeto= salarioBasico - salarioBasico*0.050;
}
}
JOptionPane.showMessageDialog(null,“cedula:“+ cedula+”n”+”salario neto:”+ salarioNeto);
}}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 53
54. EJERCICIO
IF-ELSE
4. Codificar el algoritmo usando algún lenguaje de programación
Ver código fuente Nomina.java en el campus del
curso…
EISC
Universidad del Valle - Algoritmia y Programación
Slide 54
55. Más estructuras de control….
EISC
Universidad del Valle - Algoritmia y Programación
Slide 55
56. ESTRUCTURA SWITCH -CASE
Permite manejar varias opciones de forma sencilla,
resumiendo cuando se tengan varios if-else anidados
EISC
Universidad del Valle - Algoritmia y Programación
Slide 56
57. ESTRUCTURA SWITCH -CASE
Permite manejar varias opciones de forma sencilla,
resumiendo cuando se tengan varios if-else anidados
En pseudocódigo
según sea(x)
caso 1: instrucciones_1
caso 2: instrucciones_2
…
caso n: instrucciones_n
por defecto: instrucciones_por_defecto
fin según sea
EISC
Universidad del Valle - Algoritmia y Programación
Slide 57
58. ESTRUCTURA SWITCH -CASE
Permite manejar varias opciones de forma sencilla,
resumiendo cuando se tengan varios if-else anidados
En pseudocodigo
según sea(x)
caso 1
:
caso 2
:
…
caso n
:
por defecto:
fin según sea
instrucciones_1
instrucciones_2
La variable x debe ser de
tipo entero, o de tipo
carácter o de tipo String.
No se permiten
otros tipos de datos.
instrucciones_n
instrucciones_por_defecto
EISC
Universidad del Valle - Algoritmia y Programación
Slide 58
59. ESTRUCTURA SWITCH -CASE
Permite manejar varias opciones de forma sencilla,
permitiendo resumir
cuando se tengan varios if-else
anidados
En código java
switch(x)
{
caso 1
:
caso 2
:
caso n
:
por defecto:
}
El pseudocógido según sea se
reemplaza por la palabra
reservada switch
instrucciones_1
instrucciones_2
instrucciones_n
instrucciones_df
EISC
Universidad del Valle - Algoritmia y Programación
Slide 59
60. ESTRUCTURA SWITCH -CASE
Permite manejar varias opciones de forma sencilla,
permitiendo resumir
cuando se tengan varios if-else
anidados
En código java
switch(x)
{
case 1
:
case 2
:
case n
:
por defecto:
}
El pseudocódigo caso se
reemplaza por la palabra
reservada case
instrucciones_1
instrucciones_2
instrucciones_n
instrucciones_df
EISC
Universidad del Valle - Algoritmia y Programación
Slide 60
61. ESTRUCTURA SWITCH -CASE
Permite manejar varias opciones de forma sencilla,
permitiendo resumir
cuando se tengan varios if-else
anidados
En código java
switch(x)
{
case 1
case 2
case n
default
}
:
:
:
:
instrucciones_1
instrucciones_2 El pseudocódigo por
instrucciones_n defecto se reemplaza por
la palabra reservada
instrucciones_df
default
EISC
Universidad del Valle - Algoritmia y Programación
Slide 61
62. ESTRUCTURA SWITCH -CASE
Permite manejar varias opciones de forma sencilla,
permitiendo resumir
cuando se tengan varios if-else
anidados
Al finalizar de cada bloque
de instrucciones se debe
En código java
agregar la instrucción
break; Para indicar el final
switch(x)
de cada caso.
{
case 1
: instrucciones_1; break;
case 2
: instrucciones_2 ; break;
case n
: instrucciones_n ; break;
default
: instrucciones_df ; break;
}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 62
63. ESTRUCTURA SWITCH -CASE
Problema: Desarrollar una aplicación en java que reciba un
entero correspondiente a una categoría y el total de ventas
de un empleado y retorne la comisión que recibe.
Tome en cuenta la siguiente tabla.
categoría
Comisión
1
10%
2
20%
3
35%
4
45%
5
50%
6
60%
EISC
Universidad del Valle - Algoritmia y Programación
Slide 63
64. ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: ??
Salidas: ??
Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 64
65. ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: categoria, ventas
Salidas: comision
Proceso:??
categoria
ventas
Proceso?
comision
EISC
Universidad del Valle - Algoritmia y Programación
Slide 65
66. ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: categoria, ventas
Salidas: comision
Proceso:
SEGÚN SEA categoria
EISC
Universidad del Valle - Algoritmia y Programación
Slide 66
67. ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: categoria, ventas
Salidas: comision
Proceso:
SEGÚN SEA categoria
caso 1 : comision = ventas * 0.1
EISC
Universidad del Valle - Algoritmia y Programación
Slide 67
68. ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: categoria, ventas
Salidas: comision
Proceso:
SEGÚN SEA categoria
caso 1 : comision = ventas * 0.1
caso 2 : comision = ventas * 0.2
EISC
Universidad del Valle - Algoritmia y Programación
Slide 68
69. ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: categoria, ventas
Salidas: comision
Proceso:
SEGÚN SEA categoria
caso 1 : comision = ventas * 0.1
caso 2 : comision = ventas * 0.2
caso 3 : comision = ventas * 0.35
caso 4 : comision = ventas * 0.45
caso 5 : comision = ventas * 0.5
caso 6 : comision = ventas * 0.6
Por defecto : imprimir(“Categoría inexistente”)
EISC
Universidad del Valle - Algoritmia y Programación
Slide 69
70. ESTRUCTURA SWITCH -CASE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
categoria: entero
ventas, comision: real
leer(categoria)
leer(ventas)
???
imprimir(comision)
fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 70
71. ESTRUCTURA SWITCH -CASE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
categoria: entero
ventas, comision: real
leer(categoria)
leer(ventas)
Según sea categoria
caso 1: comision = ventas * 0.1
caso 2: comision = ventas * 0.2
caso 3: comision = ventas * 0.35
caso 4: comision = ventas * 0.45
caso 5: comision = ventas * 0.5
caso 6: comision = ventas * 0.6
por defecto: imprimir(“categoría inexistente”)
fin según_sea
imprimir(comision)
fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 71
72. ESTRUCTURA SWITCH -CASE
4. Codificar el algoritmo usando algún lenguaje de
programación
Según sea categoria
caso 1: comision = ventas * 0.1
caso 2: comision = ventas * 0.2
caso 3: comision = ventas * 0.35
caso 4: comision = ventas * 0.45
caso 5: comision = ventas * 0.5
caso 6: comision = ventas * 0.6
por defecto: imprimir(“categoría inexistente”)
fin según_sea
EISC
Universidad del Valle - Algoritmia y Programación
Slide 72
73. ESTRUCTURA SWITCH -CASE
4. Codificar el algoritmo usando algún lenguaje de
programación
switch(categoria)
{
case 1: comision = ventas * 0.1; break;
case 2: comision = ventas * 0.2; break;
case 3: comision = ventas * 0.35; break;
case 4: comision = ventas * 0.45; break;
case 5: comision = ventas * 0.5; break;
case 6: comision = ventas * 0.6; break;
default: JoptionPane.showMessageDialog(null, “Categoría Inexistente”);
}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 73
74. ESTRUCTURA
IF-ELSE
public class ComisionEmpleado{
public static void main(String args[])
{ // Variables de entrada y salida
int categoria; double ventas; double comision;
// Lectura de los datos de entrada
categoria =Integer.parseInt(JOptionPane.showInputDialog(“Ingrese categoria:”));
ventas =Double.parseDouble(JOptionPane.showInputDialog(“Ingrese venta:”));
// Proceso
switch(categoria) {
case 1: comision = ventas * 0.1; break;
case 2: comision = ventas * 0.2; break;
case 3: comision = ventas * 0.35; break;
case 4: comision = ventas * 0.45; break;
case 5: comision = ventas * 0.5; break;
case 6: comision = ventas * 0.6; break;
default: JOptionPane.showMessageDialog(null,“categoria inexistente”);
}
//imprimir
JOptionPane.showMessageDialog(null,“la comision es “+ comision);
}}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 74
75. EJERCICIO
Problema: Emcali requiere recalcular la factura de energía
de los consumidores. Para ello, se necesita de un programa
que lea el estrato social y el valor de consumo del cliente, y
determine el valor básico a adicionar para establecer el
nuevo valor de la factura.
El programa debe reportar el nuevo valor de la factura.
Para saber los valores básicos que corresponde a cada
categoría use la siguiente tabla:
Estrato
Valor Base
1
500
2
700
3
4800
4
6700
Si se digita una categoría
que no esté en la tabla se
debe mostrar un mensaje
indicando que la categoría
no es válida.
EISC
Universidad del Valle - Algoritmia y Programación
Slide 75
77. EJERCICIO
SWITCH-CASE
Problema: Emcali requiere recalcular la factura de energía
de los consumidores. Para ello, se necesita de un programa
que lea el estrato social y el valor de consumo del cliente, y
determine el valor básico a adicionar para establecer el
nuevo valor de la factura. Para saber los valores básicos
que corresponde a cada categoría use la siguiente tabla:
Estrato
Valor Base
1
500
2
700
3
4800
4
6700
Si
se
digita
una
categoría que no esté en
la tabla se debe mostrar
un mensaje indicando
que la categoría no es
válida.
EISC
Universidad del Valle - Algoritmia y Programación
Slide 77
78. EJERCICIO
SWITCH-CASE
1. Análisis del problema
Entradas: estrato, consumo
Salidas: valorFactura
Proceso:
??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 78
79. EJERCICIO
SWITCH-CASE
1. Análisis del problema
Entradas: estrato, consumo
Salidas: valorFactura
Proceso:
Si estrato es 1, valorFactura = consumo + 500
Si estrato es 2, valorFactura = consumo + 700
Si estrato es 3, valorFactura = consumo + 4800
Si estrato es 4, valorFactura = consumo + 5700
EISC
Universidad del Valle - Algoritmia y Programación
Slide 79
80. EJERCICIO
SWITCH-CASE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
estrato: entero
consumo, valorFactura: real
leer(categoria)
leer(consumo)
??
imprimir(valorFactura)
fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 80
81. EJERCICIO
SWITCH-CASE
2. Diseñar el algoritmo y escribirlo en pseudocódigo
inicio
estrato: entero
consumo, valorFactura: real
leer(categoria)
leer(consumo)
según sea categoria
caso 1: valorFactura = consumo + 500
caso 2: valorFactura = consumo + 700
caso 3: valorFactura = consumo + 4800
caso 4: valorFactura = consumo + 5700
defecto : imprimir(“categoría no válida”)
fin según_sea
imprimir(valorFactura)
EISC
fin
Universidad del Valle - Algoritmia y Programación
Slide 81
82. EJERCICIO
SWITCH-CASE
3. Realizar una prueba de escritorio para el algoritmo
inicio
Valor
Consumo
Valor
Factura
1
20000
20500
2
79000
79700
3
200100
20490
4
estrato: entero
consumo, valorFactura: real
leer(categoria)
leer(consumo)
Estrato
600540
607240
según sea categoria
caso 1: valorFactura = consumo + 500
caso 2: valorFactura = consumo + 700
caso 3: valorFactura = consumo + 4800
caso 4: valorFactura = consumo + 5700
defecto : imprimir(“categoría no válida”)
fin según_sea
imprimir(valorFactura)
fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 82
83. EJERCICIO
SWITCH-CASE
4. Codificar el algoritmo usando algún lenguaje de programación
pseudocódigo
según sea categoria
caso 1: valorFactura = consumo + 500
caso 2: valorFactura = consumo + 700
caso 3: valorFactura = consumo + 4800
caso 4: valorFactura = consumo + 5700
fin según_sea
Código Java
EISC
Universidad del Valle - Algoritmia y Programación
Slide 83
84. EJERCICIO
SWITCH-CASE
4. Codificar el algoritmo usando algún lenguaje de programación
pseudocódigo
según sea categoria
caso 1: valorFactura = consumo + 500
caso 2: valorFactura = consumo + 700
caso 3: valorFactura = consumo + 4800
caso 4: valorFactura = consumo + 5700
fin según_sea
Código Java
switch(estrato){
case 1: valorFactura=consumo + 500; break;
case 2: valorFactura=consumo + 700; break;
case 3: valorFactura=consumo + 4800; break;
case 4: valorFactura=consumo + 5700; break;
default : JOptionPane.showMessageDialog(null,“Categoría no válida”); break:
}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 84
85. EJERCICIO
4.
SWITCH-CASE
Codificar el algoritmo usando algún lenguaje de programación
import javax.swing.JOptionPane;
public class Factura{
public static void main(String args[])
{ // Variables de entrada y salida
int estrato; double consumo,valorFactura;
// Lectura de los datos de entrada
estrato =Integer.parseInt(JOptionPane.showInputDialog(“Ingrese estrato:”));
consumo=Double.parseDouble(JOptionPane.showInputDialog(“Ingrese consumo:”));
// Proceso
switch(estrato){
case 1: valorFactura=consumo + 500; break;
case 2: valorFactura=consumo + 700; break;
case 3: valorFactura=consumo + 4800; break;
case 4: valorFactura=consumo+ 5700; break;
default : JOptionPane.showMessageDialog(null,“Categoría no válida”); break:}
//imprimir
JOptionPane.showMessageDialog(null,“el nuevo valor de factura“+ valorFactura);
}}
EISC
Universidad del Valle - Algoritmia y Programación
Slide 85
86. EJERCICIO
SWITCH-CASE
4. Codificar el algoritmo usando algún lenguaje de programación
Ver código fuente Factura.java en el campus del
curso…
EISC
Universidad del Valle - Algoritmia y Programación
Slide 86