You are on page 1of 82

ESTRUCTURAS DE CONTROL

CONTENIDO
Estructuras de Control if-else

switch-case
Ejercicios

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 2

ESTRUCTURAS DE CONTROL
La forma de tomar decisiones en un programa es a travs de las Estructuras de Control.

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 3

ESTRUCTURAS DE CONTROL
La forma de tomar decisiones en un programa es a travs de las Estructuras de Control. Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 4

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 1. Anlisis del problema Entradas: ?? Salidas: ?? Proceso:??

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 5

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 1. Anlisis del problema Entradas: edad Salidas: ?? Proceso:??

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 6

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 1. Anlisis del problema Entradas: edad Salidas: mensaje de texto (anuncio) Proceso:??

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 7

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 1. Anlisis del problema Entradas: edad Salidas: mensaje de texto Proceso: SI la edad es mayor que 18

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 8

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 1. Anlisis del problema Entradas: edad Salidas: mensaje de texto Proceso: SI la edad es mayor que 18 Mostrar el mensaje Usted es mayor de edad.

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 9

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 1. Anlisis del problema Entradas: edad Salidas: mensaje de texto Proceso: SI la edad es mayor que 18 Mostrar el mensaje Usted es mayor de edad. SI NO

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 10

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 1. Anlisis 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 Programacin
Slide 11

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 2. Disear el algoritmo y escribirlo en pseudocdigo
Inicio edad: entero leer (edad) ???

Fin
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 12

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 2. Disear el algoritmo y escribirlo en pseudocdigo
Inicio edad: entero leer (edad) ??

Como expresar la condicin la edad es mayor que 18 en pseudocdigo??

Fin

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 13

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 2. Disear el algoritmo y escribirlo en pseudocdigo
Inicio edad: entero leer (edad) SI edad >= 18

Fin

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 14

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 2. Disear el algoritmo y escribirlo en pseudocdigo
Inicio edad: entero leer (edad) SI edad > =18 imprimir(Usted es mayor de edad)

Fin

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 15

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 2. Disear el algoritmo y escribirlo en pseudocdigo
Inicio edad: entero leer (edad) SI edad > =18 imprimir(Usted es mayor de edad) SINO Fin

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 16

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 2. Disear el algoritmo y escribirlo en pseudocdigo
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 Programacin
Slide 17

EJERCICIO ESTRUCTURA

DE CONTROL

Problema: Se requiere de un programa que permita leer: dos nmeros enteros y la opcin de la operacin matemtica que deseen realizar:
opcin 1 2 operacin Suma Resta

3 4

Multiplicacin Divisin

Segn la opcin elegida se debe mostrar el resultado de la operacin sobre los dos nmeros

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 18

OPERADORES RELACIONALES
Actan sobre valores enteros, reales y caracteres. Estos operadores retorna un valor booleano.

EISC
Universidad del Valle - Algoritmia y Programacin
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 Programacin
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 Programacin
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 Programacin
Slide 22

OPERADORES LGICOS
Actan sobre operadores o expresiones lgicas, como las tablas de verdad.

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 23

OPERADORES LGICOS
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 Programacin
Slide 24

OPERADORES LGICOS
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 Programacin
Slide 25

OPERADORES LGICOS
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 Programacin
Slide 26

OPERADORES LGICOS
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 Programacin
Slide 27

EJERCICIO ESTRUCTURA

DE CONTROL

Problema: Se requiere de un programa que permita leer: la cdula, salario bsico y ao de vinculacin de un empleado y que permita calcular su salario neto sabiendo que: Si gana ms de $1200000 y entro a trabajar despus 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 cdula y salario neto del empleado.
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 28

EJERCICIO

IF-ELSE

1. Anlisis del problema Entradas: cedula, ahno, salarioBasico Salidas: salarioNeto Proceso: ??

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 29

EJERCICIO

IF-ELSE

1. Anlisis 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 salarioBruto 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 Programacin
Slide 30

EJERCICIO

IF-ELSE

2. Disear el algoritmo y escribirlo en pseudocdigo inicio


cedula, ahno: entero salarioBasico, salarioNeto: real leer(cedula) leer(ahno) leer(salarioBasico)

???
imprimir(cedula) imprimir(salarioNeto)

fin
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 31

EJERCICIO
inicio

IF-ELSE

2. Disear el algoritmo y escribirlo en pseudocdigo


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 (salarioBruto < 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 Programacin
Slide 32

EJERCICIO

IF-ELSE

3. Realizar una prueba de escritorio para el algoritmo

Cdula 11301245 3036978 5045893

Ao vinculacin 2000 1990 1985

Salario Bruto 1.300.000 400.000 2.000.000

Salario Neto 1.170.000 392.000 1.900.000

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 33

EJERCICIO

IF-ELSE

Pasando a Java..

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 34

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 4. Codificar el algoritmo usando algn lenguaje de programacin

pseudocdigo
SI edad > 18 imprimir(Usted es mayor de edad) SINO imprimir(Usted es menor de edad)

Java

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 35

ESTRUCTURAS DE CONTROL
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 4. Codificar el algoritmo usando algn lenguaje de programacin

pseudocdigo
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 Programacin
Slide 36

ESTRUCTURA
SI edad >= 18

IF-ELSE

imprimir(Usted es mayor de edad) SINO imprimir(Usted es menor de edad)

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 37

ESTRUCTURA
SI (edad >= 18)

IF-ELSE
Las condiciones en Java se colocan entre parntesis

imprimir(Usted es mayor de edad) SINO imprimir(Usted es menor de edad)

EISC
Universidad del Valle - Algoritmia y Programacin
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 Programacin
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 Programacin
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 Programacin
Slide 41

ESTRUCTURA

IF-ELSE

La estructura de control if-else permite ejecutar una serie de instrucciones solo cuando se cumple una condicin establecida

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 42

ESTRUCTURA

IF-ELSE

La estructura de control if-else permite ejecutar una serie de instrucciones solo cuando se cumple una condicin establecida

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 43

ESTRUCTURA IF-ELSE
Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no 2. Disear el algoritmo y escribirlo en pseudocdigo
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 Programacin
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 Programacin
Slide 45

EJERCICIO
inicio

IF-ELSE

2. Disear el algoritmo y escribirlo en pseudocdigo


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 (salarioBruto < 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 Programacin
Slide 46

EJERCICIO
pseudocdigo

IF-ELSE

4. Codificar el algoritmo usando algn lenguaje de programacin


SI (salarioBasico > 1200000) Y (ahno>1990) salarioNeto= salarioBasico - salarioBasico *0.08 SINO SI (salarioBruto < 550000) O (ahno==1990) salarioNeto= salarioBasico - salarioBasico *0.02 SINO salarioNeto= salarioBasico - salarioBasico *0.05

Cdigo Java

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 47

EJERCICIO
pseudocdigo

IF-ELSE

4. Codificar el algoritmo usando algn lenguaje de programacin


SI (salarioBasico > 1200000) Y (ahno>1990) salarioNeto= salarioBasico - salarioBasico *0.08 SINO SI (salarioBruto < 550000) O (ahno==1990) salarioNeto= salarioBasico - salarioBasico *0.02 SINO salarioNeto= salarioBasico - salarioBasico *0.05

Cdigo 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 Programacin
Slide 48

EJERCICIO

IF-ELSE

4. Codificar el algoritmo usando algn lenguaje de programacin


import javax.swing.JOptionPane; public class Nomina { public static void main(String args[]) { // Variables de entrada y salida int cedula, ahno; double salarioBasico, salarioNeto; // Lectura de los datos de entrada cedula =Integer.parseInt(JOptionPane.showInputDialog(Ingrese cedula:)); ahno =Integer.parseInt(JOptionPane.showInputDialog(Ingrese ahno:)); salarioBasico =Double.parseDouble(JOptionPane.showInputDialog(Ingrese salario basico:)); // Proceso 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;} } //imprimir JOptionPane.showMessageDialog(null,cedula:+ cedula+\n+salario neto:+ salarioNeto); }} EISC
Universidad del Valle - Algoritmia y Programacin
Slide 49

EJERCICIO

IF-ELSE

4. Codificar el algoritmo usando algn lenguaje de programacin

Ver cdigo fuente Nomina.java en el campus del curso

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 50

Ms estructuras de control.

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 51

ESTRUCTURA SWITCH -CASE


Permite manejar varias opciones de forma sencilla, resumiendo cuando se tengan varios if-else anidados

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 52

ESTRUCTURA SWITCH -CASE


Permite manejar varias opciones de forma sencilla, resumiendo cuando se tengan varios if-else anidados

En pseudocdigo segn sea(x) opcion 1 : opcion 2 : opcion n : por defecto: fin segn sea

instrucciones_1 instrucciones_2 instrucciones_n instrucciones_por_defecto

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 53

ESTRUCTURA SWITCH -CASE


Permite manejar varias opciones de forma sencilla, resumiendo cuando se tengan varios if-else anidados

En pseudocodigo segn sea(x) opcion 1 : opcion 2 : opcion n : por defecto: fin segn sea

La variable x debe ser de tipo entero de tipo carcter.

instrucciones_1 instrucciones_2

No se permiten otros tipos de datos.

instrucciones_n instrucciones_por_defecto

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 54

ESTRUCTURA SWITCH -CASE


Permite manejar varias opciones de forma sencilla, permitiendo resumir cuando se tengan varios if-else anidados

En cdigo java
switch(x) { opcion 1 : opcion 2 : opcion n : por defecto: }

El pseudocgido segn sea se reemplaza por la palabra reservada switch

instrucciones_1 instrucciones_2 instrucciones_n instrucciones_df

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 55

ESTRUCTURA SWITCH -CASE


Permite manejar varias opciones de forma sencilla, permitiendo resumir cuando se tengan varios if-else anidados En cdigo java switch(x) { case 1 : case 2 : case n : por defecto: } El pseudocdigo opcin se reemplaza por la palabra reservada case instrucciones_1 instrucciones_2 instrucciones_n instrucciones_df

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 56

ESTRUCTURA SWITCH -CASE


Permite manejar varias opciones de forma sencilla, permitiendo resumir cuando se tengan varios if-else anidados En cdigo java switch(x) { case 1 case 2 case n default }

: instrucciones_1 : instrucciones_2 : instrucciones_n : instrucciones_df

El pseudocdigo por defecto se reemplaza por la palabra reservada default

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 57

ESTRUCTURA SWITCH -CASE


Permite manejar varias opciones de forma sencilla, permitiendo resumir cuando se tengan varios if-else anidados Al finalizar de cada instruccin se debe agregar En cdigo java la instruccin break; Para indicar el final de cada switch(x) opcin. { case1 : instrucciones_1; break; case2 : instrucciones_2 ; break; case n : instrucciones_n ; break; default : instrucciones_df ; break; }

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 58

ESTRUCTURA SWITCH -CASE


Problema: Desarrollar una aplicacin en java que reciba un entero correspondiente a una categora y el total de ventas de un empleado y retorne la comisin que recibe. Tome en cuenta la siguiente tabla. categora 1 2 3 4 5 6
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 59

Comisin 10% 20% 35% 45% 50% 60%

ESTRUCTURA SWITCH -CASE


1. Anlisis del problema Entradas: ?? Salidas: ?? Proceso:??

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 60

ESTRUCTURA SWITCH -CASE


1. Anlisis del problema Entradas: categoria, ventas Salidas: comision Proceso:??

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 61

ESTRUCTURA SWITCH -CASE


1. Anlisis del problema Entradas: categoria, ventas Salidas: comision Proceso: SEGN SEA categoria

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 62

ESTRUCTURA SWITCH -CASE


1. Anlisis del problema Entradas: categoria, ventas Salidas: comision Proceso: Si categoria es 1, comision = ventas * 0.1

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 63

ESTRUCTURA SWITCH -CASE


1. Anlisis del problema Entradas: categoria, ventas Salidas: comision Proceso: Si categoria es 1, comision = ventas * 0.1 Si categoria es 2, comision = ventas * 0.2

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 64

ESTRUCTURA SWITCH -CASE


1. Anlisis del problema Entradas: categoria, ventas Salidas: comision Proceso: Si categoria es 1, comision = ventas * 0.1 Si categoria es 2, comision = ventas * 0.2 Si categoria es 3, comision = ventas * 0.35 Si categoria es 4, comision = ventas * 0.45 Si categoria es 5, comision = ventas * 0.5 Si categoria es 6, comision = ventas * 0.6

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 65

ESTRUCTURA SWITCH -CASE


2. Disear el algoritmo y escribirlo en pseudocdigo inicio
categoria: entero ventas, comision: real leer(categoria) leer(ventas)

???

imprimir(comision)

fin
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 66

ESTRUCTURA SWITCH -CASE


2. Disear el algoritmo y escribirlo en pseudocdigo inicio
categoria: entero ventas, comision: real leer(categoria) leer(ventas) Segn sea categoria opcion 1: comision = ventas * 0.1 opcion 2: comision = ventas * 0.2 opcion 3: comision = ventas * 0.35 opcion 4: comision = ventas * 0.45 opcion 5: comision = ventas * 0.5 opcion 6: comision = ventas * 0.6 fin segn_sea imprimir(comision)

fin
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 67

ESTRUCTURA SWITCH -CASE


4. Codificar el algoritmo usando algn lenguaje de programacin
Segn sea categoria opcion 1: comision = ventas * 0.1 opcion 2: comision = ventas * 0.2 opcion 3: comision = ventas * 0.35 opcion 4: comision = ventas * 0.45 opcion 5: comision = ventas * 0.5 opcion 6: comision = ventas * 0.6 fin segn_sea

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 68

ESTRUCTURA SWITCH -CASE


4. Codificar el algoritmo usando algn lenguaje de programacin
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; }

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 69

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; }

//imprimir JOptionPane.showMessageDialog(null,la comision es + comision); }}


EISC
Universidad del Valle - Algoritmia y Programacin
Slide 70

EJERCICIO
Problema: Emcali requiere recalcular la factura de energa 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 bsico a adicionar para establecer el nuevo valor de la factura.

El programa debe reportar el nuevo valor de la factura. Para saber los valores bsicos que corresponde a cada categora use la siguiente tabla:
Estrato 1 2 3 4
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 71

Valor Base 500 700 4800 6700

Si se digita una categora que no est en la tabla se debe mostrar un mensaje indicando que la categora no es vlida.

Anexos

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 72

EJERCICIO

SWITCH-CASE

Problema: Emcali requiere recalcular la factura de energa 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 bsico a adicionar para establecer el nuevo valor de la factura. Para saber los valores bsicos que corresponde a cada categora use la siguiente tabla:

Estrato 1

Valor Base 500

2 3
4

700 4800
6700

Si se digita una categora que no est en la tabla se debe mostrar un mensaje indicando que la categora no es vlida.

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 73

EJERCICIO

SWITCH-CASE

1. Anlisis del problema Entradas: estrato, consumo Salidas: valorFactura Proceso: ??

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 74

EJERCICIO

SWITCH-CASE

1. Anlisis 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 Programacin
Slide 75

EJERCICIO
inicio

SWITCH-CASE

2. Disear el algoritmo y escribirlo en pseudocdigo

estrato: entero consumo, valorFactura: real leer(categoria) leer(consumo)

??

imprimir(valorFactura)

fin
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 76

EJERCICIO
inicio

SWITCH-CASE

2. Disear el algoritmo y escribirlo en pseudocdigo

estrato: entero consumo, valorFactura: real leer(categoria) leer(consumo) segn sea categoria opcion 1: valorFactura = consumo + 500 opcion 2: valorFactura = consumo + 700 opcion 3: valorFactura = consumo + 4800 opcion 4: valorFactura = consumo + 5700 defecto : imprimir(categora no vlida) fin segn_sea imprimir(valorFactura)
EISC

fin
Slide 77

Universidad del Valle - Algoritmia y Programacin

EJERCICIO
inicio

SWITCH-CASE

3. Realizar una prueba de escritorio para el algoritmo


Estrato 1 2 3 4

estrato: entero consumo, valorFactura: real leer(categoria) leer(consumo)

Valor Consumo 20000 79000 200100 600540

Valor Factura 20500 79700 20490 607240

segn sea categoria opcion 1: valorFactura = consumo + 500 opcion 2: valorFactura = consumo + 700 opcion 3: valorFactura = consumo + 4800 opcion 4: valorFactura = consumo + 5700 defecto : imprimir(categora no vlida) fin segn_sea imprimir(valorFactura)

fin
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 78

EJERCICIO
pseudocdigo

SWITCH-CASE

4. Codificar el algoritmo usando algn lenguaje de programacin

segn sea categoria opcion 1: valorFactura = consumo + 500 opcion 2: valorFactura = consumo + 700 opcion 3: valorFactura = consumo + 4800 opcion 4: valorFactura = consumo + 5700 fin segn_sea Cdigo Java

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 79

EJERCICIO
pseudocdigo

SWITCH-CASE

4. Codificar el algoritmo usando algn lenguaje de programacin

segn sea categoria opcion 1: valorFactura = consumo + 500 opcion 2: valorFactura = consumo + 700 opcion 3: valorFactura = consumo + 4800 opcion 4: valorFactura = consumo + 5700 fin segn_sea Cdigo 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,Categora no vlida); break:

}
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 80

EJERCICIO
4.

SWITCH-CASE

Codificar el algoritmo usando algn lenguaje de programacin

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,Categora no vlida); break:} //imprimir JOptionPane.showMessageDialog(null,el nuevo valor de factura+ valorFactura); }}
EISC
Universidad del Valle - Algoritmia y Programacin
Slide 81

EJERCICIO

SWITCH-CASE

4. Codificar el algoritmo usando algn lenguaje de programacin

Ver cdigo fuente Factura.java en el campus del curso

EISC
Universidad del Valle - Algoritmia y Programacin
Slide 82

You might also like