You are on page 1of 16

Universidad Nacional de Trujillo Programacin Digital

2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 1

SESIN 04: ESTRUCTURAS DE SELECCIN SIMPLES Y DOBLES

TEMARIO
Estructuras de Seleccin
Operadores Lgicos y Relacionales
Estructura de Seleccin Simple
Estructura de Seleccin Doble






Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 2
1. ESTRUCTURAS DE SELECCIN

No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hay
que tomar una decisin aparecen las estructuras selectivas. En nuestra vida diaria se nos
presentan situaciones donde debemos decidir:

Elijo la carrera A o la carrera B?
Me pongo este pantaln?
Para ir al trabajo, elijo el camino A o el camino B?
Al cursar una carrera, elijo el turno maana, tarde o noche?

Las estructuras de seleccin, se utilizan para tomar decisiones lgicas; de ah que se
suelen denominar tambin estructuras condicionales, de decisin o alternativas.

En las estructuras de seleccin se evala una condicin y en funcin del resultado se realiza
una opcin u otra. Las condiciones se especifican usando expresiones lgicas.

Las estructuras de seleccin pueden ser:

Simples
Dobles
Mltiples
Anidadas






Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 3
2. OPERADORES LOGICOS Y RELACIONALES
Son operadores que se utilizan para crear condiciones lgicas. Una condicin lgica es una
expresin lgica que puede ser verdadera (true) o falsa (false) y puede incluir operadores
aritmticos.

2.1. Operadores relacionales
Los operadores relacionales se utilizan para escribir condiciones que describan la relacin
entre dos valores. El conjunto de operadores relacionales en java se muestran en la Tabla
1.
Tabla 1: Operadores Relacionales
Operador Significado
== Igual a
!= Diferente de
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que


Son operadores que permiten relacionar varias expresiones lgicas. El conjunto de
operadores lgicos se muestra en la tabla 2

Tabla 2: Operadores Lgicos
Operador Significado
|| OR lgico ()
&& AND lgico (y)
! NOT lgico (no)


Las tablas de verdad de los operadores lgicos son las mismas de la lgica
matemtica, como se muestra en la tabla 3.

Tabla 3: Tabla de verdad de los operadores lgicos
p q p && q p || q !
p
true true true true false
true false false true false
false true false true true
false false false false true





Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 4
3. ESTRUCTURA SELECTIVA SIMPLE
La estructura selectiva simple ejecuta una determinada accin o acciones cuando se cumple
una determinada condicin, es decir, tenemos la opcin de realizar una actividad o
varias si la condicin es verdadero y si es falso no se realizar ninguna actividad.

La representacin grfica de la estructura selectiva simple en un Diagrama de Flujo es la
siguiente:

Ilustracin 1: Diagrama de flujo de la estructura selectiva simple

En la figura anterior se puede observar lo siguiente: el rombo representa la condicin. Hay dos
opciones que se pueden tomar. Si la condicin es verdadera se sigue el camino del verdadero,
si la condicin es falsa se sigue el camino del falso. Por el camino del verdadero pueden
existir varias operaciones, entradas y salidas que se pueden realizar, inclusive ya veremos que
pueden haber otras estructuras condicionales o selectivas.

La representacin grfica de la estructura selectiva simple en el diagrama estructurado y
pseudocdigo son las siguientes:


Ilustracin 2: Diagrama estructurado de la estructura selectiva simple


Ilustracin 3: Pseudocdigo de la estructura selectiva simple




Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 5
Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el
siguiente ejemplo:

Ejemplo 1:
Ingresar el sueldo de una persona, si supera los S/. 3000 soles, mostrar un mensaje en pantalla
indicando que debe abonar impuestos.



Ilustracin 4: Diagrama de flujo del ejemplo 1



Ilustracin 5: Diagrama estructurado del ejemplo 1





Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 6

Ilustracin 6: Figura 18. Pseudocdigo del ejemplo 1


Observacin del Pseudocdigo
Obsrvese que las palabras del pseudocdigo si y fin_si se alinean verticalmente
identando (sangrando) la instruccin o bloque de instrucciones.

Ejemplo 2:
Realizar un algoritmo que permita el ingreso de un nmero entero, si es positivo debe mostrar
el mensaje que es un nmero positivo, elevarlo al cuadrado y mostrar dicho resultado. Al
terminar el algoritmo debe decir fin del algoritmo.


Ilustracin 7: Diagrama de Flujo del ejemplo 2





Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 7

Ilustracin 8: Diagrama Estructurado del Ejemplo 02


Ilustracin 9: Pseudocdigo del ejemplo 2





Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 8
4. ESTRUCTURA SELECTIVA SIMPLE
La estructura selectiva doble permite elegir entre dos opciones o alternativas, en funcin
del cumplimiento de una determinada condicin, de tal forma que, si se cumple, se
ejecutan las acciones del primer bloque; si no se cumple, se ejecutan las acciones del segundo
bloque.

La representacin grfica de una estructura selectiva doble en los mtodos para representar a
los algoritmos es el siguiente:


Ilustracin 10: Diagrama de flujo de la estructura selectiva doble


Ilustracin 11: Diagrama estructurado de la estructura selectiva doble


Ilustracin 12: Pseudocdigo de la estructura selectiva doble
De acuerdo a la condicin podemos realizar actividades por el lado verdadero o por el lado
falso, PERO NUNCA se realizan las actividades de ambos lados al mismo tiempo.




Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 9

Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el
siguiente ejemplo:

Ejemplo 3:
Realizar un algoritmo que lea dos nmeros enteros distintos entre s y mostrar por
pantalla el mayor y el menor. Al final del algoritmo mostrar tambin el nombre del creador del
algoritmo.

Ilustracin 13: Diagrama de flujo del ejemplo 3


Ilustracin 14: Diagrama estructurado del ejemplo 3




Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 10


Ilustracin 15: Pseudocdigo del ejemplo 3

Ejemplo de autoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.

Ejemplo 4:
Realizar un algoritmo que permita el ingreso de tres notas de un alumno. Calcular la
nota promedio y si el promedio es mayor o igual a 10.5 mostrar un mensaje
Aprobado o Desaprobado.

Ejemplo 5:
Un cobrador de impuestos tiene la meta de cobrar 1000 soles, realiza tres cobranzas; si el
dinero obtenido supera la meta mostrar un mensaje respectivo. Al final del algoritmo
mostrar el monto cobrado.





Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 11
5. PROBLEMAS RESUELTOS PARA LABORATORIO EN JAVA DE ESTRUCTURAS SECUENCIALES:
5.1. Una tienda vende un producto a precios unitarios que dependen de la cantidad de
unidades adquiridas de acuerdo a la siguiente tabla:
Unidades adquiridas Precio unitario
1 a
25
S/. 27.7
26 a
50
S/. 25.5
51 a
75
S/. 23.5
76 en adelante S/. 21.5

Adicionalmente, si el cliente adquiere ms de 50 unidades la tienda le descuenta el 15%
del importe de la compra; en caso contrario, slo le descuenta el 5%.
Disee un programa que determine el importe de la compra, el importe del descuento
y el importe a pagar por la compra de cierta cantidad de unidades del producto.

Algoritmo
Inicio
// Declaracin de variables
entero unidades;
real impcom, impdes, imppag
// Entrada de datos
Leer unidades
// Clculo del importe de la compra si( unidades >= 1 && unidades <= 25 )
impcom = unidades*27.5
si( unidades >= 26 && unidades <= 50 )
impcom = unidades*25.5
si( unidades >= 51 && unidades <= 75 )
impcom = unidades*27.5
si( unidades >= 76)
impcom = unidades*27.5
// Clculo del importe del descuento si( unidades > 50 )
impdes = 0.15*impcom
si( unidades <= 50 )
impdes = 0.05*impcom
// Calcula el importe a pagar
imppag = impcom - impdes;
// Salida de resultados
Imprimir impcom, impdes, imppag
Fin





Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 12
5.2. 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"
si( beta > 0 && beta < 90 )
tipo = "Agudo"
si( beta == 90 )
tipo = "Recto"
si( beta > 90 && beta < 180 )
tipo = "Obtuso"
si( beta == 180 )
tipo = "Llano"
si( beta > 180 && beta < 360 )
tipo = "Cncavo"
si( beta == 360 )
tipo = "Completo"
// Salida de resultados
Imprimir tipo
Fin




Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 13
5.3. El promedio final de un curso se obtiene en base al promedio simple de tres prcticas
calificadas. Para ayudar a los alumnos, el profesor del curso ha prometido incrementar
en dos puntos la nota de la tercera prctica calificada, si es que esta es no menor que
10. Disee un programa que determine el promedio final de un alumno conociendo sus
tres notas. Considere que la nota mxima es 20.

Algoritmo
Inicio
// Declaracin de variables
real p1, p2, p3, promedio
// Entrada de datos
Leer p1, p2, p3
// Si amerita, aade 2 puntos a p3
si( p3 >= 10 ){
p3 = p3 + 2
si( p3 > 20 )
p3 = 20
}
// Determina el promedio
promedio = (p1+p2+p3)/3
// Salida de resultados
Imprimir promedio
Fin


5.4. Disee un programa que lea un nmero natural de cuatro cifras y forme el mayor
nmero posible de dos cifras usando la cifra mayor y la cifra menor del nmero
ingresado

Algoritmo
Inicio
// Declaracin de variables
entero numero, cunid, cdece, ccent, cmill, cmay, cmen, maynum
// Entrada de datos
Leer numero
// Descompone el nmero en sus cifras
cmill = numero/1000
ccent = numero%1000/100
cdece = numero%1000%100/10
cunid = numero%1000%100%10






Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 14
// Determina la cifra mayor
cmay = cmill
si(ccent > cmay)
cmay = ccent
si(cdece > cmay)
cmay = cdece
si(cunid > cmay)
cmay = cunid
// Determina la cifra menor
cmen = cmill
si(ccent < cmen)
cmen = ccent
si(cdece < cmen)
cmen = cdece
si(cunid < cmen)
cmen = cunid
// Forma el mayor nmero posible con las cifras mayor y menor
maynum = cmay*10+cmen
// Salida de resultados
Imprimir may, cmen, maynum
Fin

5.5. En un estacionamiento, se cobra S/. 2.5 por hora o fraccin de hora. Dado el tiempo de
estacionamiento de un vehculo expresado en el formato HH:MM, determine el
importe a pagar por concepto de estacionamiento

Algoritmo
Inicio
// Declaracin de variables
entero horas, minutos
real importe
// Entrada de datos
Leer horas, minutos
// Si hay una fraccin de hora, se cobra una hora adicional
si( minutos > 0 )
horas = horas+1
// Determina el importe a pagar
importe = horas*2.5
// Salida de resultados
Imprimir importe
Fin




Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 15

6. ACTIVIDADES PROPUESTAS
Realice los siguientes ejercicios utilizando los diagramas de flujo, N-S y Pseudocdigo.

6.1. Una persona realiza 5 compras en un supermercado. Existe la oferta de que si la
compra supera los 550 soles, se le hace un descuento del 10%. Mostrar el monto a
pagar.
6.2. Leer un tiempo en segundos y determinar cuantos minutos hay, Al final del
algoritmo mostrar los segundos sobrantes.
6.3. Realizar un algoritmo que convierta de dlares a soles o de soles a dlares.
6.4. En una autopista se multa a los conductores de vehculos que exceden el lmite de
velocidad permitido de acuerdo a la siguiente tabla.

Velocidad (km/h) Mult
a
Hasta 70 Sin sancin
71 a 90 100 euros
91 a 100 140 euros
Ms de 100 200 euros

Disee un algoritmo que determine cuanto de multa deber pagar un conductor.

6.5. Una tienda vende un producto a un precio unitario que depende del nmero de
unidades adquiridas de acuerdo a la siguiente tabla:

Unidades adquiridas Precio unitario
1 a 50 S/. 25.5
51 a 100 S/. 22.5
101 a 150 S/. 20.0
151 en adelante S/. 18.0

Como oferta la tienda ofrece un descuento igual al 15% del importe de la compra si es
que el nmero de unidades adquiridas es mayor que 50; en caso contrario, slo
descuenta el 5%.

Disee un algoritmo que determine el importe de la compra, el importe del
descuento y el importe a pagar por la compra de cierta cantidad de unidades del
producto.

6.6. Disee un programa que lea un nmero entero del 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.





Universidad Nacional de Trujillo Programacin Digital
2013
Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

Pgina 16
6.7. Disee un programa que lea un nmero entero del intervalo 1 a 7,
correspondiente a un da de la semana, y determine el nombre del da. Considere:
1 para lunes, 2 para martes, ..., 6 para sbado, 7 para domingo.

6.8. Un curso se evala en base a cuatro notas de prctica de las cuales se elimina la nota
menor y se promedian las tres notas ms altas. Disee un programa que determine la
nota eliminada y el promedio final de un alumno.

6.9. Realizar un algoritmo que calcule el salario semanal de un obrero, el cual se obtiene de
la siguiente manera:
Si trabaja 40 horas o menos se le paga $16 por hora
Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas y
$20 por cada hora extra.
6.10. En la empresa Toyota del Per a los clientes se les ofrece los siguientes descuentos en
base al precio del auto que se quiere comprar.

Auto <= $ 15 000 5%
$ 15 000 < Auto 10%

Cul ser la cantidad que pagara una persona por su compra?

6.11. Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran
tres camisas o ms se aplica un descuento del 20% sobre el total de la compra y si son
menos de tres camisas un descuento del 10%.

6.12. Una empresa calcula el sueldo bruto de sus trabajadores en base a las horas trabajadas.
Hasta 48 horas, se paga una tarifa horaria normal. Para las horas en exceso sobre 48, se
paga un recargo del 15% respecto a la tarifa horaria normal. Por otro lado, si el sueldo
bruto es superior a S/. 1700, se aplica un descuento del 11%. Disee un programa que
determine el sueldo bruto, el descuento y el sueldo neto de un trabajador.

6.13. Dado un nmero natural de tres cifras, disee un algoritmo que determine si el nmero
es o no capica. Un nmero es capica si se lee igual de derecha a izquierda que de
izquierda a derecha. As, por ejemplo, 363 es capica; pero, 356 no lo es.

You might also like