trabajo

7
Estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas. En las estructuras selectivas se evalúa una condición y en función del resultado la misma se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then, else o bien en español si, entonces, sino), con una figura geométrica en forma de rombo o bien con un triángulo en el interior de una caja rectangular. Las estructuras selectivas o alternativas pueden ser: ALTERNATIVA SIMPLE (SI-ENTONCES/IF-THEN): La estructura alternativa simple si-entonces (en inglés if-then o bien IF-THEN) ejecuta una determinada acción cuando se cumple una determinada condición. La selección si-entonces evalúa la condición y si la condición es verdadera, entonces ejecuta la acción S1 (o acciones caso de ser S1 una acción compuesta y constar de varias acciones). Si la condición es falsa, entonces no hacer nada. PSEUDOCÓDIGO:

Upload: juver-castromonte

Post on 28-Mar-2016

213 views

Category:

Documents


1 download

DESCRIPTION

trabajo para presentar

TRANSCRIPT

Page 1: Trabajo

Estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se

suelan denominar también estructuras de decisión o alternativas. En las

estructuras selectivas se evalúa una condición y en función del resultado la

misma se realiza una opción u otra. Las condiciones se especifican usando

expresiones lógicas. La representación de una estructura selectiva se hace con

palabras en pseudocódigo (if, then, else o bien en español si, entonces, sino),

con una figura geométrica en forma de rombo o bien con un triángulo en el

interior de una caja rectangular.

Las estructuras selectivas o alternativas pueden ser:

ALTERNATIVA SIMPLE (SI-ENTONCES/IF-THEN):

La estructura alternativa simple si-entonces (en inglés if-then o bien IF-THEN)

ejecuta una determinada acción cuando se cumple una determinada condición.

La selección si-entonces evalúa la condición y si la condición es verdadera,

entonces ejecuta la acción S1 (o acciones caso de ser S1 una acción compuesta

y constar de varias acciones).

Si la condición es falsa, entonces no hacer nada.

PSEUDOCÓDIGO:

Page 2: Trabajo

Si (condición) Entonces

(acción S1)

Fin_si

ALTERNATIVA DOBLE (SI-ENTONCES-SI_NO / IF - THEN - ELSE):

Estructura que permita elegir entre dos opciones o alternativas posibles, en

función del cumplimiento o no de una determinada condición.

Si la condición C es verdadera, se ejecuta la acción S1 y, si es falsa, se ejecuta

la acción S2.

PSEUDOCÓDIGO:

Si (condición) entonces

(acción S1)

si_no

(acción S2)

fin_si

ALTERNATIVAS MÚLTIPLES (SEGÚN _ SEA, CASO DE / CASE):

Cuando existen más de dos elecciones (alternativas) posibles, es cuando se

presenta el caso de alternativas múltiples. Si el número de alternativas es

grande puede plantear serios problemas de escritura del algoritmo y

naturalmente de legibilidad.

La estructura de decisión múltiple evaluará una expresión que podrá tomar n

valores distintos 1, 2, 3,4,..N. Según que elija uno de estos valores en la

condición, se realizará una de las n acciones, o lo que es igual, el flujo del

algoritmo seguirá un determinado camino entre los n posibles.

Ejemplo:

Page 3: Trabajo

Determinar si un triángulo es: equilátero, isósceles o escaleno, conociendo sus

tres lados (a, b, c).

PSEUDOCÓDIGO:

INICIO

leer a, b, c

SI (a == b) ENTONCES

SI (b == c) ENTONCES

imprimir ("Triángulo Equilátero")

SINO

imprimir ("Triangulo Isósceles")

FIN SI

SINO

SI (b == c) ENTONCES

imprimir ("Triangulo Isósceles")

SINO

imprimir ("Triangulo Escaleno")

FIN SI

FIN SI

FIN

SELECTIVAS MULTIPLES:

Page 4: Trabajo

Permiten evaluar condiciones de forma jerárquica, y al hallar la primera condición que retorne True se ejecutan las instrucciones correspondientes y termina dicha estructura. PSEUDOCODIGO (SINTAXIS): SI (CONDICION1) ENTONCES INSTRUCCIONES1 SINO SI (CONDICION2) ENTONCES INSTRUCCIONES2 SINO SI (CONDICION3) ENTONCES INSTRUCCIONES3 ...... SINO instrucciones FIN SI --------------------------------- EN JAVA if (condicion1) { instrucciones1; } else if (condicion2) { instrucciones2; } else if (condicion3) { instrucciones3; } .... Else { instrucciones; } EJEMPLO1: Ingresar el nombre del mes y año para retornar la cantidad de días

Page 5: Trabajo

correspondientes INICIO VARIABLES: ENTERO: AÑO, CANTDIAS TEXTO: MES ESCRIBIR: "INGRESE EL NOMBRE DEL MES" LEER: MES ESCRIBIR: "INGRESE EL AÑO" LEER: AÑO SI( MES == "ENERO" O MES == "MARZO" O MES == "MAYO" O MES == "JULIO" O MES == "AGOSTO" O MES == "OCTUBRE" O MES == "DICIEMBRE") ENTONCES CANTDIAS <- 31 SINO SI (MES == "ABRIL" O MES == "JUNIO" O MES == "SETIEMBRE" O MES == "NOVIEMBRE") ENTONCES CANTDIAS <- 30 SINO SI (MES == "FEBRERO") ENTONCES SI (AÑO MOD 4 == 0) ENTONCES CANTDIAS <- 29 SINO CANTDIAS <- 28 FIN SI SINO CANTDIAS <-0 FIN SI ESCRIBIR: CANTDIAS FIN ------------------------------------------------- EN JAVA import javax.swing.*; public class ejemplo1 { public static void main(String [ ] args) { int año=0,cantdias=0; String mes; mes=JOptionPane.showInputDialog("Ingrese el mes"); mes=mes.toUpperCase();//Cambia a mayúsculas año=Integer.parseInt(JOptionPane.showInputDialog("Ingrese año")); if(mes.equals("ENERO")||mes.equals("MARZO")||mes.equals("MAYO")||mes.equals("JULIO")||mes.equals("AGOSTO")||mes.equals("OCTUBRE")||mes.equals("DICIEMBRE")){ cantdias=31; }else if(mes.equals("ABRIL")||mes.equals("JUNIO")||mes.equals("S

Page 6: Trabajo

ETIEMBRE")||mes.equals("NOVIEMBRE")){ cantdias=30; }else if(mes.equals("FEBRERO")){ if(año % 4 == 0){ cantdias=29; }else{ cantdias=28; } }else{ cantdias=0; } JOptionPane.showMessageDialog(null,"Cant días "+cantdias); } } ------------------------------------------------- EJEMPLO2: Crear una aplicación para el alquiler de habitaciones en un hotel según la siguiente tabla: TIPO | COSTO SIMPLE | 15 Matrimonial | 25 MAT + CABLE | 30 MAT + JACUZI| 60 Existen dos tipos de clientes Frecuente y Nuevo a los cuales se da un descuento de 10%(Frecuente) Los días viernes y sábados los costos se incrementan en 20% INICIO VARIABLES: TEXTO: HABITACION,CLIENTE,DIA REAL: COSTO,DESC,INCREMENT ESCRIBIR: "INGRESE TIPO DE HABITACION" LEER: HABITACION ESCRIBIR: "INGRESE TIPO DE CLIENTE " LEER: CLIENTE ESCRIBIR: "INGRESE EL DIA DE LA SEMANA" LEER: DIA SI(HABITACION=="SIMPLE")ENTONCES COSTO<-15 SINO SI(HABITACION=="MATRIMONIAL")ENTONCES COSTO<-25 SINO SI(HABITACION=="MAT + CABLE")ENTONCES COSTO<-30 SINO SI(HABITACION=="MAT + JACUZI")ENTONCES COSTO<-60 SINO ESCRIBIR: "ERROR" FIN SI

Page 7: Trabajo

SI(CLIENTE=="FRECUENTE")ENTONCES DESC<-0.10*COSTO SINO DESC<-0 FIN SI SI(DIA=="VIERNES" O DIA=="SABADO")ENTONCES INCREMENT<-0.20*COSTO SINO INCREMENT<-0 FIN SI COSTO <- COSTO + INCREMENT - DESC ESCRIBIR: COSTO FIN ------------------------------------------------- EN JAVA import javax.swing.*; public class ejemplo2 { public static void main(String[] args) { String hab,cli,dia; double costo=0,increment,desc; hab=JOptionPane.showInputDialog("Ing tipo de habitación"); cli=JOptionPane.showInputDialog("Ing tipo cli"); día=JOptionPane.showInputDialog("Ing día"); if(hab.equals("SIMPLE")){ costo=15; }else if(hab.equals("MATRIMONIAL")){ costo=25; }else if(hab.equals("MAT + CABLE")){ costo=30; }else if(hab.equals("MAT + JACUZI")){ costo=60; }else{ System.out.println("ERROR"); } if(cli.equals("FRECUENTE")){ desc=0.10*costo; }else{ desc=0; } if(dia.equals("VIERNES") || dia.equals("SABADO")){ increment=0.20*costo; }else{ increment=0; } costo=costo + increment-desc; JOptionPane.showMessageDialog(null,"El costo es "+costo); } }