ESTRUCTURAS DE CONTROL Algoritmia y Programación
ESTRUCTURAS DE CONTROL
Algoritmia y Programación
Slide 2
EISC Universidad del Valle - Algoritmia y Programación
CONTENIDO
Estructuras de Control
if-else
switch-case
Ejercicios
Slide 3
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURAS DE CONTROL
La forma de tomar decisiones en un programa es a través de las Estructuras de Control.
Slide 4
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 5
EISC Universidad del Valle - Algoritmia y Programación
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:??
Slide 6
EISC Universidad del Valle - Algoritmia y Programación
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:??
Slide 7
EISC Universidad del Valle - Algoritmia y Programación
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:??
Slide 8
EISC Universidad del Valle - Algoritmia y Programación
Conceptos preliminares
Análisis del problema
edad Impresión de
mensaje Proceso?
Slide 9
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 10
EISC Universidad del Valle - Algoritmia y Programación
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”.
Slide 11
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 12
EISC Universidad del Valle - Algoritmia y Programación
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”
Slide 13
EISC Universidad del Valle - Algoritmia y Programación
Conceptos preliminares
Análisis del problema
edad Impresión
de mensaje
Si edad > = 18
Imprimir usted es mayor de edad
Sino
Imprimir usted es menor de edad
Slide 14
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 15
EISC Universidad del Valle - Algoritmia y Programación
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
Como expresar la condición “la edad es mayor que 18” en pseudocódigo??
Slide 16
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 17
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 18
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 19
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 20
EISC Universidad del Valle - Algoritmia y Programación
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:
Según la opción elegida se debe mostrar el resultado de la operación sobre los dos números
opción operación
1 Suma
2 Resta
3 Multiplicación
4 División
Slide 21
EISC Universidad del Valle - Algoritmia y Programación
OPERADORES RELACIONALES
Actúan sobre valores enteros, reales y caracteres. Estos operadores retorna un valor booleano.
Slide 22
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 23
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 24
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 25
EISC Universidad del Valle - Algoritmia y Programación
OPERADORES LÓGICOS
Actúan sobre operadores o expresiones lógicas, como las tablas de verdad.
Slide 26
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 27
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 28
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 29
EISC Universidad del Valle - Algoritmia y Programación
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))
Slide 30
EISC Universidad del Valle - Algoritmia y Programación
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.
Slide 31
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO IF-ELSE
1. Análisis del problema
Entradas: cedula, ahno, salarioBasico
Salidas: salarioNeto
Proceso:
??
cedula ahno,
salarioBasico
cedula
salarioNeto Proceso?
Slide 32
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 33
EISC Universidad del Valle - Algoritmia y Programación
Conceptos preliminares
Análisis del problema
SI el salarioBasico > 1200000 y
ahno es >1990
salarioNeto= salarioBasico - ( salarioBasico *0.08 )
SINO
SI el salarioBasico > 550000, o ahno == 1990 salarioNeto= salarioBasico - salarioBasico *0.02
SINO salarioNeto= salarioBasico - salarioBasico *0.05
cedula ahno,
salarioBasico
cedula
salarioNeto
Slide 34
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 35
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 36
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 37
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO IF-ELSE
Pasando a Java…..
Slide 38
EISC Universidad del Valle - Algoritmia y Programación
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”)
Slide 39
EISC Universidad del Valle - Algoritmia y Programación
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”)
Estructura de Control if-else
Slide 40
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA IF-ELSE
SI edad >= 18
imprimir(“Usted es mayor de edad”)
SINO
imprimir(“Usted es menor de edad”)
Slide 41
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA IF-ELSE
SI (edad >= 18)
imprimir(“Usted es mayor de edad”)
SINO
imprimir(“Usted es menor de edad”)
Las condiciones en Java se colocan entre paréntesis
Slide 42
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA IF-ELSE
if (edad >= 18)
{
imprimir(“Usted es mayor de edad”)
}
SINO
imprimir(“Usted es menor de edad”)
El pseudocodigo SI, se reemplaza por la palabra reservada if
Slide 43
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 44
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA IF-ELSE
if (edad >= 18)
{
JOptionPane.showMessageDialog(null,“Usted es mayor de edad”);
}
else
{
JOptionPane.showMessageDialog(null,“Usted es menor de edad”);
}
SI edad >= 18
imprimir(“Usted es mayor de edad”)
SINO imprimir(“Usted es menor de edad”)
Slide 45
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA IF-ELSE
La estructura de control if-else permite ejecutar una serie
de instrucciones solo cuando se cumple una condición
establecida
Slide 46
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA IF-ELSE
La estructura de control if-else permite ejecutar una serie
de instrucciones solo cuando se cumple una condición
establecida
Slide 47
EISC Universidad del Valle - Algoritmia y Programación
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
imprimir(“Usted es menor de edad”) Fin
Slide 48
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA IF-ELSE
public class MayorEdad
{
public static void main(String args[])
{
// Variable de entrada
int edad;
// 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"); }
}
}
Inicio edad: entero leer (edad) SI edad >= 18
imprimir(“Usted es mayor de edad”)
SINO imprimir(“Usted es menor de edad”) Fin
Slide 49
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 50
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO IF-ELSE
4. Codificar el algoritmo usando algún lenguaje de programación
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
pseudocódigo
Slide 51
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO IF-ELSE
4. Codificar el algoritmo usando algún lenguaje de programación
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;
}
}
Código Java
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
Slide 52
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO IF-ELSE 4. 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);
} }
Slide 53
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO IF-ELSE 4. 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);
} }
Slide 54
EISC Universidad del Valle - Algoritmia y Programación
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…
Slide 55
EISC Universidad del Valle - Algoritmia y Programación
Más estructuras de control….
Slide 56
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA SWITCH -CASE
Permite manejar varias opciones de forma sencilla, resumiendo cuando se tengan varios if-else anidados
Slide 57
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 58
EISC Universidad del Valle - Algoritmia y Programación
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 : instrucciones_1
caso 2 : instrucciones_2
…
caso n : instrucciones_n
por defecto: instrucciones_por_defecto
fin según sea
La variable x debe ser de tipo entero, o de tipo carácter o de tipo String.
No se permiten otros tipos de datos.
Slide 59
EISC Universidad del Valle - Algoritmia y Programación
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 : instrucciones_1
caso 2 : instrucciones_2
caso n : instrucciones_n
por defecto: instrucciones_df
}
El pseudocógido según sea se reemplaza por la palabra reservada switch
Slide 60
EISC Universidad del Valle - Algoritmia y Programación
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 : instrucciones_1
case 2 : instrucciones_2
case n : instrucciones_n
por defecto: instrucciones_df
}
El pseudocódigo caso se reemplaza por la palabra reservada case
Slide 61
EISC Universidad del Valle - Algoritmia y Programación
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 : instrucciones_1
case 2 : instrucciones_2
case n : instrucciones_n
default : instrucciones_df
}
El pseudocódigo por defecto se reemplaza por la palabra reservada default
Slide 62
EISC Universidad del Valle - Algoritmia y Programación
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 : instrucciones_1; break;
case 2 : instrucciones_2 ; break;
case n : instrucciones_n ; break;
default : instrucciones_df ; break;
}
Al finalizar de cada bloque de instrucciones se debe agregar la instrucción break; Para indicar el final de cada caso.
Slide 63
EISC Universidad del Valle - Algoritmia y Programación
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%
Slide 64
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: ??
Salidas: ??
Proceso:??
Slide 65
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: categoria, ventas
Salidas: comision
Proceso:??
categoria
ventas comision Proceso?
Slide 66
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: categoria, ventas
Salidas: comision
Proceso:
SEGÚN SEA categoria
Slide 67
EISC Universidad del Valle - Algoritmia y Programación
ESTRUCTURA SWITCH -CASE
1. Análisis del problema
Entradas: categoria, ventas
Salidas: comision
Proceso:
SEGÚN SEA categoria
caso 1 : comision = ventas * 0.1
Slide 68
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 69
EISC Universidad del Valle - Algoritmia y Programación
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”)
Slide 70
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 71
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 72
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 73
EISC Universidad del Valle - Algoritmia y Programación
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”);
}
Slide 74
EISC Universidad del Valle - Algoritmia y Programación
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);
} }
Slide 75
EISC Universidad del Valle - Algoritmia y Programación
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.
Slide 76
EISC Universidad del Valle - Algoritmia y Programación
Anexos
Slide 77
EISC Universidad del Valle - Algoritmia y Programación
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.
Slide 78
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO SWITCH-CASE
1. Análisis del problema
Entradas: estrato, consumo
Salidas: valorFactura
Proceso:
??
Slide 79
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 80
EISC Universidad del Valle - Algoritmia y Programación
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
Slide 81
EISC Universidad del Valle - Algoritmia y Programación
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)
fin
Slide 82
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO SWITCH-CASE
3. Realizar una prueba de escritorio para el algoritmo
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)
fin
Estrato Valor Consumo
Valor Factura
1 20000 20500
2 79000 79700
3 200100 20490
4 600540 607240
Slide 83
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO SWITCH-CASE
4. Codificar el algoritmo usando algún lenguaje de programación
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
pseudocódigo
Slide 84
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO SWITCH-CASE
4. Codificar el algoritmo usando algún lenguaje de programación
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
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:
}
Código Java
pseudocódigo
Slide 85
EISC Universidad del Valle - Algoritmia y Programación
EJERCICIO SWITCH-CASE 4. 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);
} }
Slide 86
EISC Universidad del Valle - Algoritmia y Programación
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…