Sunteți pe pagina 1din 11

UNT PROGRAMACIN DIGITAL

2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 1

SESIN 05: ESTRUCTURAS DE SELECCIN DOBLES ENCADENADAS

TEMARIO
La Estructura de seleccin doble encadenada if-else-if.





UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 2
1. ESTRUCTURAS DE SELECCIN DOBLE ENCADENADA

La estructura de seleccin doble encadenada if...else...if evala un conjunto de
condiciones en orden descendente, pasando de una condicin a otra, siempre que la condicin
anterior sea falsa, y en el momento que encuentre una condicin verdadera, efecta la accin
correspondiente a dicha condicin y abandona el resto de la estructura. La estructura tiene
una accin por defecto que se efecta en el caso que todas las condiciones sean falsas.

Ilustracin 1: Estructura de seleccin doble en cascada

En la tabla que siguen se muestran el cdigo Java y el pseudocdigo correspondiente a los
estndares de escritura de la estructura if-else-if
Cdigo Java Pseudocdigo

if( condicion1)
accion1;
else
if( condicion2 )
accion2;
else
if( condicion3 )
accion3;
.
.
else
if( condicin n )
accin n;
else
accin defecto;

si( condicion1)
accion1
sino
si( condicion2 )
accion2
sino
si( condicion3 )
accion3
.
.
.
sino
si( condicin n )
accin n
sino
accin defecto

En el caso de acciones compuestas, estas deben estar encerradas entre llaves de bloque { }.




UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 3

2. PROBLEMAS RESUELTOS PARA LABORATORIO EN JAVA DE ESTRUCTURAS DOBLES ANIDADAS:
2.1. Los ngulos se clasifican de la siguiente manera:

Magnitud Clasificacin
= 0 Nulo
0 < < 90 Agudo
= 90 Recto
90 < < 180 Obtuso
= 180 Llano
180 < < 360 Cncavo
= 360 Completo

Disee un algoritmo que determine la clasificacin de un ngulo dado en grados,
minutos y segundos. Asuma que el ngulo est en el intervalo de 0 a 360.

Algoritmo
Inicio
// Declaracin de variables
entero grados, minutos, segundos real beta Cadena tipo
// Entrada de datos
Leer grados, minutos, segundos
// Determina el ngulo en grados
beta = grados + minutos/60.0 + segundos/3600.0
// Determina el tipo de ngulo
si( beta == 0 )
tipo = "Nulo"
sino si(beta < 90 )
tipo = "Agudo"
sino si( beta == 90 )
tipo = "Recto"
sino si( beta < 180 )
tipo = "Obtuso"
sino si( beta == 180 )
tipo = "Llano"
sino si( beta < 360 )
tipo = "Cncavo"
sino
tipo = "Completo"
// Salida de resultados
Imprimir tipo
Fin




UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 4
2.2. En la playa de estacionamiento de un centro comercial, cobran una tarifa fija por hora o
fraccin de acuerdo a la siguiente tabla:
Da Tarifa
Lunes a Jueves S/. 3.5
Viernes y Sbado S/. 4.5
Domingo S/. 2.5

Cuando un vehculo entra al estacionamiento, se registra la hora de entrada y al
retirarse, se registra la hora de salida, ambas en horas y minutos. Disee un programa
que determine cuanto debe pagar un cliente por el estacionamiento de su vehculo.

Algoritmo

Considerando: dia: 0=Lunes, 1= Martes, ...,6 = Domingo
Inicio
// Declaracin de variables
entero h1, m1, h2, m2, dia, horaspag, totalmin
real montopag

// Entrada de datos
Leer h1, m1, h2, m2, dia

// Clculo de la cantidad de horas a pagar
totalmin = (h2-h1)*60 + (m2-m1)
horaspag = totalmin/60
si( totalmin%60 != 0 )
horaspag = horaspag+1

// Clculo del monto a pagar
si( dia <= 3 )
montopag = horaspag*3.5
sino si( dia <= 5 )
montopag = 4.5*horaspag
sino
montopag = 2.5*horaspag

// Salida de resultados
Imprimir horaspag, montopag
Fin





UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 5
2.3. En nuestra universidad, los alumnos estn categorizados en cuatro categoras. A cada
categora le corresponde una pensin mensual distinta dada en la siguiente tabla:
Categora Pensin
A S/. 380
B S/. 340
C S/. 300
D S/. 260


E S/. 180

Semestralmente, la universidad efecta rebajas en las pensiones de sus estudiantes a
partir del segundo ciclo en base al promedio ponderado del ciclo anterior en
porcentajes dados en la tabla siguiente:

Promedio Descuento
0 a13.99 No hay descuento
14.00 a 15.99 10 %
16.00 a 17.99 12 %
18.00 a 20.00 15 %
Disee un programa que determine cunto de rebaja recibir un estudiante sobre su
pensin actual y a cunto asciende su nueva pensin.

Algoritmo
Inicio
// Declaracin de variables entero categoria
real actualpen, nuevapen, descuento, promedio
// Entrada de datos
Leer categoria, promedio
// Clculo de la pensin actual
si( categoria == 0 )
actualpen = 550
sino si ( categoria == 1 )
actualpen = 500
sino si ( categoria == 2 )
actualpen = 460
sino
actualpen = 400
// Clculo del descuento
si( promedio <= 13.99 )
descuento = 0
sino si( promedio <= 15.99 )
descuento = 0.10*actualpen
sino si( promedio <= 17.99 )
descuento = 0.12*actualpen
sino




UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 6
descuento = 0.15*actualpen
// Clculo de la nueva pensin
nuevapen = actualpen descuento
// Salida de resultados
Imprimir actualpen, nuevapen
Fin

2.4. Una empresa de prstamos tiene el siguiente esquema de cobros:

Monto del prstamo (S/.) Nmero de cuotas
Hasta 5000 2
Ms de 5000 hasta 10 000 4
Ms de 10000 hasta 15 000 6
Ms de 15000 10

Si el monto del prstamo es mayor a S/. 10 000, la empresa cobra 3% de inters
mensual; en caso contrario, cobra 5% de inters mensual.
Dado el monto del prstamo de un cliente, disee un programa que determine el
monto de la cuota mensual y el monto del inters total entre todas las cuotas.

Algoritmo
Inicio
// Declaracin de variables
real montoprestamo, montointeres, tasainteres, montocuota
entero cuotas
// Entrada de datos
Leer montoprestamo
// Obtencin del nmero de cuotas
si( montoprestamo <= 5000 )
cuotas = 2
sino si( montoprestamo <= 10000 )
cuotas = 4
sino si( montoprestamo <= 15000 )
cuotas = 6
sino
cuotas = 10
// Obtencin de la tasa de inters
si( montoprestamo > 10000 )
tasainteres = 0.03
sino
tasainteres = 0.05
// Clculo del monto del inters total
montointeres = tasainteres*montoprestamo*cuotas




UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 7

// Clculo del monto de la cuota
montocuota = (montoprestamo + montointeres)/cuotas

// Salida de resultados
Imprimir cuotas, montocuota, montointeres
Fin

2.5. Una empresa evala a sus empleados bajo dos criterios: puntualidad y rendimiento.
En cada caso el empleado recibe un puntaje que va de 1 a 10, de acuerdo a los
siguientes criterios:
Puntaje por puntualidad:- est en funcin a los minutos de tardanza de acuerdo a la
siguiente tabla:
Minutos de tardanza Puntaje
0 10
1 a 2 8
3 a 5 6
6 a 9 4
Ms de 9 0

Puntaje por rendimiento:- est en funcin a la cantidad de observaciones efectuadas al
empleado por no cumplir sus obligaciones de acuerdo a la siguiente tabla:
Observaciones
efectuadas
Puntaje
0 10
1 8
2 5
3 1
Ms de 3 0

El puntaje total del empleado es la suma del puntaje por puntualidad ms el puntaje
por rendimiento. En base al puntaje total, el empleado recibe una bonificacin anual de
acuerdo a la siguiente tabla:

Puntaje total Bonificacin
Menos de 11 S/. 2.5 por punto
11 a 13 S/. 5.0 por punto
14 a 16 S/. 7.5 por punto
17 a 19 S/. 10.0 por punto
20 S/. 12.5 por punto

Disee un programa que determine el puntaje por puntualidad, el puntaje por
rendimiento, el puntaje total y la bonificacin que le corresponden a un empleado de la
empresa.




UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 8

Algoritmo
Inicio
// Declaracin de variables
entero minutosTar, numeroObs, puntajePun, puntajeRen, puntajeTot
real bonificacion
// Entrada de datos
Leer minutosTar, numeroObs
// Determinacin del puntaje por puntualidad
si(minutosTar == 0)
puntajePun = 10
sino si(minutosTar <= 2)
puntajePun = 8
sino si(minutosTar <= 5)
puntajePun = 6
sino si(minutosTar <= 9)
puntajePun = 4
sino
puntajePun = 0
// Determinacin del puntaje por rendimiento
si(numeroObs == 0)
puntajeRen = 10
sino si(numeroObs == 1)
puntajeRen = 8
sino si(numeroObs == 2)
puntajeRen = 5
sino si(numeroObs == 3)
puntajeRen = 1
sino
puntajeRen = 0
// Determinacin del puntaje total
puntajeTot = puntajePun + puntajeRen
// Determinacin de la bonificacin
si(puntajeTot < 11)
bonificacion = 2.5*puntajeTot
sino si(puntajeTot <= 13)
bonificacion = 5.0*puntajeTot
sino si(puntajeTot <= 16)
bonificacion = 7.5*puntajeTot
sino si(puntajeTot <= 19)
bonificacion = 10.0*puntajeTot
sino
bonificacion = 12.5*puntajeTot
// Salida de resultados
Imprimir puntajePun, puntajeRen, puntajeTot, bonificacion
Fin





UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 9
3. ACTIVIDADES PROPUESTAS
Realice los siguientes ejercicios utilizando los diagramas de flujo, N-S y Pseudocdigo.

3.1. Disee un programa que determine le categora de un estudiante en base a su
promedio ponderado de acuerdo a la siguiente tabla:

Promedio Categora
17 A
14 pero < 17 B
12 pero < 14 C
< 12 D

3.2. El ndice de masa corporal (IMC) permite medir el grado de sobrepeso u obesidad de
una persona. El IMC de una persona se calcula con la frmula:




Estando el peso en kilogramos y la estatura en metros. En base al valor del IMC, se
obtiene el grado de obesidad de la persona de acuerdo a la tabla adjunta. Disee un
programa que determine el grado de obesidad de una persona conociendo su peso y su
estatura.

IMC Grado de obesidad
< 20 Delgado
20 pero < 25 Normal
25 pero < 27 Sobrepeso
27 Obesidad

3.3. Disee un programa que lea un nmero entero en el intervalo de 1 a 4,
correspondiente al estado civil de una persona y determine el nombre del estado civil.
Considere: 1 para soltero, 2 para casado, 3 para viudo y 4 para divorciado. Si el nmero
no est en el intervalo de 1 a 4, imprima un mensaje de error.












UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 10

3.4. Disear un programa que lea la temperatura promedio de un da e imprima el tipo de
clima correspondiente de acuerdo a la siguiente tabla:
Temperatura Clima
10 Fro
>10 pero 20 Nublado
>20 pero 30 Caluroso
> 30 Trpico


3.5. Una compaa cobra las cuotas mensuales de sus clientes de acuerdo a lo siguiente:
Si el cliente paga dentro de los primeros diez das del mes, obtiene un descuento
igual al mayor valor entre $5 y el 2% de la cuota.
Si el cliente paga en los siguientes diez das, no tiene derecho a ningn descuento;
deber pagar exactamente la suma adeudada.
Si el cliente paga dentro de los restantes das del mes, tendr un recargo igual al
mayor valor entre $10 y el 3% de la cuota.

Disee un programa que determine cuanto debe pagar un cliente en un mes dado.

3.6. Una empresa calcula el sueldo bruto de sus trabajadores multiplicando las horas
trabajadas por una tarifa horaria que depende de la categora del trabajador de
acuerdo a la siguiente tabla:
Categora Tarifa
A S/. 21.0
B S/. 19.5
C S/. 17.0
D S/. 15.5

Por ley, todo trabajador se somete a un porcentaje de descuento del sueldo bruto:
20% si el sueldo bruto es mayor que S/. 2500 y 15% en caso contrario.

Disee un programa que determine el sueldo bruto, el descuento y el sueldo neto que
le corresponden a un trabajador de la empresa.

3.7. Disee un programa que lea tres nmeros a, b, c y determine si los nmeros fueron
ingresados en orden ascendente, en orden descendente o en desorden.





UNT PROGRAMACIN DIGITAL
2014
Sesin 05: Estructuras Selectivas Dobles Encadenadas Ing. Haybert Escobedo
Neyra
Pgina 11
3.8. Disee un programa que lea un nmero entero y determine si tiene 1, 2, 3, 4 ms de
4 dgitos.

3.9. Una empresa registra el sexo, edad y estado civil de sus empleados a travs de un
nmero entero positivo de cuatro cifras de acuerdo a lo siguiente: la primera cifra de la
izquierda representa el estado civil (1 para soltero, 2 para casado, 3 para viudo y 4 para
divorciado), las siguientes dos cifras representan la edad y la tercera cifra representa el
sexo (1 para femenino y 2 para masculino).

Disee un programa que determine el estado civil, edad y sexo de un empleado
conociendo el nmero que empaqueta dicha informacin.

3.10. En una eleccin democrtica a la presidencia de un club femenino participan Marylin,
Ruth y Mara. Para ganar la eleccin se requiere obtener la mitad de los votos emitidos
ms uno. En caso de no haber un ganador, pasan a una segunda vuelta los candidatos
que alcanzaron los dos primeros puestos o se anula la eleccin, si hay empate entre los
tres o, si hay empate por el segundo puesto. Dados los votos obtenidos por cada
candidato, se le pide disear un programa que determine el nombre del candidato
ganador o los nombres de los candidatos que pasan a la segunda vuelta o un mensaje
indicando la anulacin de la eleccin.

S-ar putea să vă placă și