Está en la página 1de 13

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA MECANICA


CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch
CONDICIONAL SIMPLE: if
Cuando se desea evaluar una comparación y hacer alguna acción sólo cuando la comparación sea verdad.
Ejemplo
if (comparacion) if ( x > 0)
acción; imprimir “positivo”

En general, cada vez que aparezca de ahora en adelante la palabra acción podrá significar dos cosas: o es
una instrucción terminada en un punto y coma ó es un conjunto de instrucciones agrupadas por llaves.

Si usted coloca punto y coma (;) después del paréntesis, no habrá error de sintaxis pero el efecto será que el if
se anula. Como que no existiera.

Para hacer la comparación debe utilizar los operadores relacionales que devuelven un valor lógico true si la
comparación fue verdad y false en caso contrario.
Expresión de Resultado del
Descripción Símbolo
ejemplo ejemplo
Igualdad == 2 == 2 true
Desigualdad != 2 != 2 false
Menor que < 2<2 false
Mayor que > 3>2 true
Menor o igual que <= 2 <= 2 true
Mayor o igual que >= 1 >= 2 false

CONDICION COMPUESTA:
En cualquier tipo de condicional, la condición puede ser simple o compuesta. Se dice que una condición es
simple cuando tiene una sola comparación (no utiliza operadores lógicos). En cambio, se dice que una
condición es compuesta cuando tiene más de una comparación, para lo cual utilizan necesariamente
operadores lógicos negación, Y, O.
Ejemplo:
if (comparacion1 && comparacion2 || comparacion3)
acción de verdad;

Los operadores lógicos que permiten evaluar expresiones lógicas compuestas son los siguientes:
Expresión de Resultado del
Descripción Símbolo
ejemplo ejemplo
Negación ! !(2 == 2) false
Y lógico && (2 == 2) && (2 >= 0) true
O lógico || (2 == 2) || (2 != 2) true

Ejemplo: if ( x>=0 && x <=5)


Imprimir “rango de 0 a 5 inclusive”

Se recomienda usar el operador && para expresar un rango continuo de lo contrario debe utilizar el operador ||

Ejemplo: if (x < 0 || x > 20)


Imprimir “fuera del rango 0 a 20”

En realidad, es todo un reto hacer correctamente la comparación. Para ello debe ser capaz de expresar en una
comparación, el condicional natural que encontrara en los enunciados de los problemas. Por ejemplo, hagamos
la comparación adecuada para los siguientes condicionales naturales:

Elaborado por Ing. Julio Vásquez Paragulla 1


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch
1) El numero es negativo:
if( numero < 0)

2) El numero es par y positivo:


if( numero % 2 == 0 && numero > 0)

3) La nota esta entre 0 y 20 inclusive:


if(nota>=0 && nota <=20)

4) La nota no esta entre 0 y20 inclusive:


if( !(nota>=0 && nota<=20) )

5) Del lanzamiento de tres dados, por lo menos uno fue 6:


if(dado1==6 || dado2==6 || dado3==6)

CONDICIONAL DOBLE: if - else


Cuando se desea evaluar una comparación y hacer alguna acción tanto cuando la comparación sea verdad
como cuando la comparación sea falsa.
Ejemplo
if (comparacion) if (nota>=13)
acción de verdad; imprimir “aprobado”
else else
acción de falsedad; imprimir “desaprobado”

CONDICIONAL EN CADENA: if - else - if


Cuando se desea evaluar consecutivamente varias operaciones, las cuales son excluyentes y generalmente
se trata de valores continuos
Ejemplo
if (comparacion1) if ( x < 0 )
acción de verdad1; imprimir “negativo”
else if (comparacion2) else if ( x ==0 )
acción de verdad2; imprimir “cero”
else if (comparacion3) else
acción de verdad3; imprimir “positivo”
else
acción de falsedad;

SELECCIÓN MULTIPLE: switch


Cuando se selecciona una opción de entre varias.

switch (variable) {
case valor1:
acción1;
break;
case valor2:
acción2;
break;
case valor3:
acción3;
break;
// ...
default:
acciónx;
}

Elaborado por Ing. Julio Vásquez Paragulla 2


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch
Compara el valor contenido en la variable con cada uno de los valores situados después del case, ejecutando
en caso de que exista coincidencia la acción correspondiente. Si no existe coincidencia, se ejecuta la acciónx
correspondiente al caso default. Y si no se pusiera el default, simplemente no ejecuta ninguna instrucción
dentro del switch.
La orden break hace que la ejecución salga del switch; de no ponerlo se ejecutarán todas las órdenes hacia
abajo sin importar el valor de los case hasta encontrar un break o la llave de cierre del switch.

PROBLEMA 1:
Dado 4 notas enteras, determine el promedio sin considerar la nota menor.

Diseñe la siguiente interface:

Para centrar la etiqueta del título utilice la propiedad HorizontalAligment


Para modificar la fuente de una etiqueta utilice la propiedad Font

Cambie los nombres de variable de los siguientes objetos:

jTextField1 lo cambia por txtNota1


jTextField2 lo cambia por txtNota2
jTextField3 lo cambia por txtNota3
jTextField4 lo cambia por txtNota4
jTextArea1 lo cambia por txtSalida
jButton1 lo cambia por btnPromediar

Para cambiar el nombre de un objeto, lo selecciona, aplica clic derecho y aplica Change Variable Name

Protega el área de texto deshabilitando su propiedad Editable.

Programe el botón promediar haciendo doble clic en él.

Elaborado por Ing. Julio Vásquez Paragulla 3


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch

Pruebe los resultados ejecutando su programa con F6 o con la flechita verde

Elaborado por Ing. Julio Vásquez Paragulla 4


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error por cada dato
erroneo. Similar a la siguiente ventana:

El código de validación se recomienda hacerlo inmediatamente después de la entrada de datos, así:

Elaborado por Ing. Julio Vásquez Paragulla 5


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch
PROBLEMA 2:
Encuentre la solución a una ecuación de segundo grado: ax 2 + bx + c =0

Diseñe la siguiente interface:

En la etiqueta utilice las siguientes propiedades:


Icon para colocar una imagen con la ecuación y la fórmula de cálculo, elija la opción imagen externa.
Previamente ubique la imagen en internet y guárdelo en su carpeta del escritorio.

Font para elegir el tipo de letra comics sans, cursiva y negrita para el texto
HorizontalTextPosition para que el texto esté al lado izquierdo de la imagen elija LEFT

Para que un campo de texto (TextField) tenga un texto en su borde utilice la propiedad Border, luego
seleccione TitledBorder, y luego Title donde escribe el texto. En este caso la letra A, B o C.

Finalmente, considere el nombre de variable adecuado a los siguientes objetos: txtA, txtB, txtC, btnCalcular,
txtSalida. Para esto de clic derecho en el objeto y utilice Change variable name.

Muestre la vista previa y haga los ajustes que sean necesarios.

Programe el botón haciendo doble clic en él.

Elaborado por Ing. Julio Vásquez Paragulla 6


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch

Pruebe los resultados ejecutando su programa con F6 o con la flechita verde

Elaborado por Ing. Julio Vásquez Paragulla 7


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch

Utilice formato para que los resultados sean com 3 decimales.

PROBLEMA 3:
Una tienda de accesorios de computadoras vende USBs de diferente marca y cada marca tiene un porcentaje
de descuento como se muestra a continuación:
MARCA % DESCUENTO
3M 10 %
IMATION 15 %
LG 20 %
SAMSUNG 25 %
OTRO 30 %

Por la compra de cierta cantidad de una marca en particular se desea saber el importe bruto, el importe del
descuento y el importe que se debe pagar por dicha compra.

Diseñe la siguiente interface:

Para seleccionar la marca utilice un objeto ComboBox, propiedad model donde escribirá las marcas, así:

Elaborado por Ing. Julio Vásquez Paragulla 8


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch

Para poner texto en los objetos TextField utilice la propiedad Border, luego Titled Border y escribe en Title.

Considere los siguientes nombres de variable en los objetos: cboMarca, txtPrecio, txtCantidad, btnVender,
txtSalida.

Muestre la vista previa y haga los ajustes que sean necesarios.

Programe el botón haciendo doble clic en él.

Pruebe los resultados ejecutando su programa con F6 o con la flechita verde

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

Elaborado por Ing. Julio Vásquez Paragulla 9


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch
PROBLEMA 4:
Para calcular los importe de la boleta de pago de un trabajador considere los siguientes datos de entrada:
nombre, sueldo básico, estado civil (soltero, casado, viudo, divorciado, otro), nivel (obrero, empleado,
ejecutivo), afiliación de AFP (si, no). Para el cálculo de las bonificaciones considere las siguientes tablas:

ESTADO CIVIL % APLICADO AL SUELDO


BASICO
Soltero 10 %
Casado 15 %
Viudo 20 %
Divorciado 5%
Otro 0

NIVEL % APLICADO AL SUELDO


BASICO
Obrero 20 %
Empleado 15 %
Ejecutivo 10 %

Para el cálculo del sueldo total considere sueldo basico + bonificaciones.


Para los descuentos considere la siguiente tabla:
AFILIADO A UNA % APLICADO AL SUELDO
AFP TOTAL
SI 13 %
No 9 %

Para el cálculo del sueldo neto considere sueldo total – descuentos.

Debe mostrar la siguiente información de la boleta de pago:


Nombre del trabajador
Sueldo básico
Estado civil y Bonificación por estado civil
Nivel y Bonificación por nivel
Sueldo total
Descuento por afiliación
Sueldo neto

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 5:
Dado 5 números, determine los dos números de mayor valor entre ellos.

PROBLEMA 6:
Dado los lados de un triángulo, determine la existencia o no existencia de dicho triángulo

PROBLEMA 7:
Dado los ángulos de un triángulo, determine si el triángulo es acutángulo, rectángulo, obtusángulo.

PROBLEMA 8:
Una compañía de teléfonos ha establecido sus tarifas por exceso de llamadas, de la siguiente manera: si el
número de llamadas no pasa de 50 no se considera exceso y paga una tarifa de 0.50 por llamada; pero si el
número de llamadas pasa de 50 hasta un límite de 150, las llamadas en exceso a 50 tendrán una tarifa de 0.80
por llamada y si el número de llamadas pasa de 150 las llamadas en exceso a 150 tendrán una tarifa de 1.10
por llamada. Se desea saber el número total de llamadas en exceso y los importes calculados por excesos así
como el importe total que deberá pagar un cliente.

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 9
Elaborado por Ing. Julio Vásquez Paragulla 10
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch
Ingrese una fecha por separado el día, el mes y el año, evaluar y luego mostrar un mensaje según corresponda
para saber si la fecha es correcta o incorrecta. Considerar la posibilidad que el año sea bisiesto en cuyo caso el
mes de febrero tendría 29 días validos. Considere que el año es bisiesto cuando es múltiplo de 4 pero nó de
100 excepto de 400.

PROBLEMA 10:
Una hotel ha clasificado a sus habitaciones en 3 categorías: A, B, C, con los siguientes precios diarios: S/50,
S/40 y S/30 respectivamente. También se ha establecido los siguientes porcentajes de descuento: para las
categorías A y B, 6% y para la categoría C, 10%. Estos porcentajes se aplican al monto total de alojamiento.
Para cierta cantidad de días de alojamiento de un cliente, determine el monto total, el monto del descuento y el
monto a pagar.

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 11:
Una empresa de transporte acuático ha establecido precios segmentados según las millas marinas recorridas,
de la siguiente manera: hasta 100 millas, el precio por milla es de us$1 por pasajero, las siguientes 200millas,
el precio por milla es de us$1.50 por pasajero y por las siguientes millas, el precio por milla es de us$1.80 por
pasajero. Para un viaje de cierta cantidad de millas y de cierta cantidad de personas determine el monto que se
debe cobrar.

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 12:
Dado un número entero positivo cuya cantidad de cifras este en el rango de 2 a 4 inclusive, identifique la cifra
mayor, la cifra menor y la suma de ellas. Valide que los datos de entrada sean correctos, caso contrario
muestre un mensaje de error.
.
PROBLEMA 13:
Dado un número entero positivo de 4 o de 6 cifras y forme el mayor número posible con las cifras centrales que
contenga. Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 14:
Una tienda vende extractores a precios dados en la siguiente tabla:

Tipo de extractor Precio Unitario us$


Centrífugo 100
Neumático 60
De techo 45
Axial 25

Como oferta la tienda ofrece descuentos sobre el importe de la compra en base a la cantidad de extractores
adquiridos de acuerdo a la siguiente tabla:

Cantidad de extractores % Descuentos


1a5 5.0%
6 a 10 7.5%
11 a 15 10.0%
Más de 15 12.5%

Elaborado por Ing. Julio Vásquez Paragulla 11


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch
Escriba un programa que determine el importe bruto (importe sin descuento), el importe del descuento, el
importe a pagar ( importe bruto menos importe del descuento) por la compra de cierta cantidad de extractores
de un mismo tipo.
Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 15
Una persona registra la temperatura mínima y máxima alcanzada los días lunes, miércoles y viernes de
una semana. Determine la temperatura promedio de cada día e identifique el(los) día(s) en que se
alcanzó la temperatura promedio más baja.

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 16
Una tienda vende celulares a precios dados en la siguiente tabla:

Marca Precio unitario us$


Samsung 100
LG 160
HTC 145

Como oferta la tienda ofrece descuentos sobre el importe de la compra en base al plan adquirido de acuerdo a
la siguiente tabla:
Plan adquirido % descuento
Prepago 5.0%
Postpago 60 7.5%
Postpago 90 10.0%

Escriba un programa que determine el importe de la compra ( precio x cantidad), el importe del descuento, el
importe a pagar ( importe bruto menos importe del descuento) por la compra de cierta cantidad de celulares de
una sola marca y de un mismo plan adquirido.

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 17
Determine el grado de eficiencia de un operario en una fábrica productora de tornillos de acuerdo al cumplimien
to de las siguientes condiciones:
a) Más de 10000 tornillos no defectuosos producidos en el mes
b) Menos de 200 tornillos defectuosos producidos en el mes
c) Menos de 1.5 horas de ausencia al trabajo

Los grados de eficiencia se determinan de la siguiente manera:


Si cumple las tres condiciones, grado 20
Si cumple dos condiciones, grado 15
Si cumple sólo una condición, grado 5
Si no cumple ninguna condición, grado 0

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 18
Dado el puntaje de 3 dados, determine la clasificación según lo siguiente:
Si hubieron 3 seis, clasificación “Excelente”
Si hubieron 2 seis, clasificación “Buena”
Si hubo 1 seis, clasificación “Regular”
Si no hubo seis, clasificación “Mala”

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 19
Elaborado por Ing. Julio Vásquez Paragulla 12
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA03
ESTRUCTURAS DE CONTROL CONDICIONALES/SELECTIVAS
if, if else, if else if, switch
En la página web www.hostviable.com han puesto a la venta planes de hosting indicados en la siguiente tabla:

Plan de hosting Precio unitario us$ % descuento


Tecnología PHP Tecnología JAVA
1GB 50.00 75.00 7%
5GB 100.00 125.00 12%
10GB 180.00 205.00 15%

Escriba un programa que identifique el plan de hosting adquirido, el tipo de tecnología, el precio unitario y el %
de descuento correspondiente al plan de hosting adquirido. Además determine el importe del descuento y el
importe a pagar en dólares y en soles al tipo de cambio vigente.

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

PROBLEMA 20

En la página web www.hostviable.com han puesto a la venta planes de hosting a los precios unitarios anuales dados en la
siguiente tabla:

Precio unitario
Plan
US$
A 30.00
B 50.00
C 100.00
D 180.00

En la página se ofrece un descuento sobre el importe de la compra según la cantidad de años contratados de acuerdo a la
siguiente tabla:

Años Contratados % Porcentaje de descuento


1 5%
2 10%
3 15%
Más de 3 20%

Escriba un programa que determine el importe de la compra, el importe del descuento y el importe a pagar según la
compra realizada.

Valide que los datos de entrada sean correctos, caso contrario muestre un mensaje de error.

Elaborado por Ing. Julio Vásquez Paragulla 13

También podría gustarte