estructuras de control - algoritmia

Post on 26-May-2015

641 Views

Category:

Education

17 Downloads

Preview:

Click to see full reader

DESCRIPTION

Universidad del Valle, 2013. Algoritmia y Programación.

TRANSCRIPT

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…

top related