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