Download Diapositiva 1 - Campus Virtual Univalle

Document related concepts
no text concepts found
Transcript
ESTRUCTURAS DE CONTROL
Algoritmia y Programación
CONTENIDO
Estructuras de Control
if-else
switch-case
Ejercicios
EISC
Universidad del Valle - Algoritmia y Programación
Slide 2
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
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
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
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
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 (anuncio)
 Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 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: mensaje de texto
 Proceso:
SI la edad es mayor o igual que 18
EISC
Universidad del Valle - Algoritmia y Programación
Slide 8
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 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
Mostrar el mensaje “Usted es mayor de edad”.
SI NO
EISC
Universidad del Valle - Algoritmia y Programación
Slide 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”.
SI NO
mostrar el mensaje “Usted es menor de edad”
EISC
Universidad del Valle - Algoritmia y Programación
Slide 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
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 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
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 13
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 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)
SI edad > =18
imprimir(“Usted es mayor de edad”)
Fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 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)
SI edad > =18
imprimir(“Usted es mayor de edad”)
SINO
Fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 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
imprimir(“Usted es mayor de edad”)
SINO
imprimir(“Usted es menor de edad”)
Fin
EISC
Universidad del Valle - Algoritmia y Programación
Slide 17
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 18
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 19
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 20
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 21
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 22
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 23
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 24
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 25
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 26
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 27
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 reportar la cédula y salario neto del
empleado.
EISC
Universidad del Valle - Algoritmia y Programación
Slide 28
EJERCICIO
IF-ELSE
1. Análisis del problema
 Entradas: cedula, ahno, salarioBasico
 Salidas: salarioNeto
 Proceso:
??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 29
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 30
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 31
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 32
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 33
EJERCICIO
IF-ELSE
Pasando a Java…..
EISC
Universidad del Valle - Algoritmia y Programación
Slide 34
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 35
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 36
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 37
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 38
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 39
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 40
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 41
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 42
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 43
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 44
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 45
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 46
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 47
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 48
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 49
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 50
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 51
Más estructuras de control….
EISC
Universidad del Valle - Algoritmia y Programación
Slide 52
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 53
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 54
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 ó de tipo
carácter.
No se permiten
otros tipos de datos.
instrucciones_n
instrucciones_por_defecto
EISC
Universidad del Valle - Algoritmia y Programación
Slide 55
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 56
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 57
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 58
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 59
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 60
ESTRUCTURA SWITCH -CASE
1. Análisis del problema
 Entradas: ??
 Salidas: ??
 Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 61
ESTRUCTURA SWITCH -CASE
1. Análisis del problema
 Entradas: categoria, ventas
 Salidas: comision
 Proceso:??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 62
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 63
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 64
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 65
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 66
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 67
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 68
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 69
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 70
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 71
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 72
Anexos
EISC
Universidad del Valle - Algoritmia y Programación
Slide 73
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 74
EJERCICIO
SWITCH-CASE
1. Análisis del problema
 Entradas: estrato, consumo
 Salidas: valorFactura
 Proceso:
??
EISC
Universidad del Valle - Algoritmia y Programación
Slide 75
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 76
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 77
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 78
EJERCICIO
SWITCH-CASE
3. Realizar una prueba de escritorio para el algoritmo
inicio
estrato: entero
consumo, valorFactura: real
leer(categoria)
leer(consumo)
Estrato
Valor
Consumo
Valor
Factura
1
20000
20500
2
79000
79700
3
200100
20490
4
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 79
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 80
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 81
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 82
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 83