• No se han encontrado resultados

Cuantos billetes de 200 , 100 y 50 se entregaran de acuerdo al monto ingresado, el monto

Estructuras Condicionales y Anidadas

CATEGORIA Instituto A B C

4. Cuantos billetes de 200 , 100 y 50 se entregaran de acuerdo al monto ingresado, el monto

como mínimo debe ser 50 y como máximo 2500.

Ejemplo: Monto =356 Billetes de 200 Æ 1 Billetes de 100 Æ 1 Billetes de 50 Æ 1 variables entero: Monto inicio leer(Monto)

si(Monto>50 y Monto <=2500)entonces b200=Monto div 200

b100=(Monto mod 200) div 100

b50=((Monto mod 200) mod 100) div 50

si(b200>0)entonces

escribir(“La cantidad de Billetes de 200 es : ”+b200) sino

escribir(“No hay de Billetes de 200 ”) fin_si

si(b100>0)entonces

escribir(“La cantidad de Billetes de 100 es : ”+b100) sino

fin_si

si(b50>0)entonces

escribir(“La cantidad de Billetes de 200 es : ”+b50) sino

escribir(“No hay de Billetes de 50 ”) fin_si

sino

escribir(“No tiene el monto requerido”) fin_si

fin_programa

Contenidos 

- Resolución de Aplicaciones.

- Uso de la Clase Math (abs,sqrt,log,etc) - Casos resueltos en Java

- Describir los siguientes métodos: equalsIgnoreCase(), equals(), Ejemplos

____________________________________________________________________________________

Desarrollo de Casos

Apliquemos estos casos en coodigo de Java.

1. Determinar el importe a pagar por un alumno de un Instituto cuya cuota tiene un porcentaje de descuento que se establece en la siguiente tabla y está en función al instituto de procedencia del alumno y su categoría.

CATEGORIA

Instituto A B C

Nacional 50% 40% 30%

Particular 25% 20% 15%

private void btnCalcular_actionPerformed(ActionEvent e) {

int cat,ins;

double porcI=0, importe,cuota;

cat=cboCat.getSelectedIndex(); ins=cboCole.getSelectedIndex();

switch(cat) {

case 0:

switch(ins){

case 0: porcI=0.50 * cuota; break;

case 1: porcI=0.25 * cuota; break;

}

break; case 1 :

switch(ins){

case 0: porcI=0.40 * cuota; break;

case 1: porcI=0.20 * cuota; break;

} break; case 2:

switch(ins){

case 0: porcI=0.30 * cuota; break;

case 1: porcI=0.15 * cuota; break; } break; } importe=cuota-porcI; lblDsct.setText(""+porcI); lblNeto.setText(""+importe); } Recordemos que en el lenguaje Java al utilizar  ComboBox  y al trabajar con el switch  debemos de trabajar con el orden de los  seleccionad. En el caso de la categoría solo hay  3 entonces será el orden 0,1 y 2. En el caso  instituto por ser 2 trabajemos como el orden 0  y 1 (particular y nacional).  Una estructura dentro de otra será Anidada,   no olvidemos del break (salto de línea) y esto  se establecer por cada uno de los casos. 

¾

La Clase Math

La clase Math representa la librería matemática de Java.

Si se importa la clase, se tiene acceso al conjunto de funciones matemáticas estándar:

™ Math.abs( x ) para int, long, float y double ™ Math.sin( double ) ™ Math.cos( double ) ™ Math.tan( double ) ™ Math.asin( double ) ™ Math.acos( double ) ™ Math.atan( double ) ™ Math.atan2( double,double ) ™ Math.exp( double ) ™ Math.log( double ) ™ Math.sqrt( double ) ™ Math.ceil( double ) ™ Math.floor( double ) ™ Math.rint( double ) ™ Math.pow( a,b )

™ Math.round( x ) para double y float ™ Math.random() devuelve un double

Ejemplo 01: Inserte un botón y escriba este código, donde estamos empleado métodos de la

clase Math. //Variables int x;

double rand,y; // Inicio

rand = Math.random()*100+1; //Genera un numero aleatorio desde 1 hasta 100. x = Math.abs( -123 ); //convierte a un número absoluto.

y = Math.round( 123.567 ); // redondea el numero

//Permite mostrar en Consola

System.out.println("Numero Aleatorio: " +rand );

System.out.println("Redondeo de 123.567 es: "+y );

9 Funciones trigonométrica

En las funciones trigonométricas los argumentos se expresan en radianes. Por ejemplo,

El ángulo 45º se convierte en radianes y luego se halla el seno, el coseno y la tangente double angulo = 45.0 * Math.PI/180.0;

System.out.println("cos(" + angulo + ") es " + Math.cos(angulo)); System.out.println("sin(" + angulo + ") es " + Math.sin(angulo)); System.out.println("tan(" + angulo + ") es " + Math.tan(angulo));

/*Para pasar de coordenadas rectangulares a polares es útil la función atan2, que admite dos argumentos, la ordenada y la abscisa del punto. Devuelve el ángulo en radianes.*/

double y=-6.2; //ordenada double x=1.2; //abscisa

9 Funciones exponencial y logarítmica

La función exponencial exp devuelve el número e elevado a una potencia

System.out.println("exp(1.0) es " + Math.exp(1.0)); System.out.println("exp(10.0) es " + Math.exp(10.0)); System.out.println("exp(0.0) es " + Math.exp(0.0));

La función log calcula el logaritmo natural (de base e) de un número System.out.println("log(1.0) es " + Math.log(1.0));

System.out.println("log(10.0) es " + Math.log(10.0)); System.out.println("log(Math.E) es " + Math.log(Math.E));

9 Función potencia y raíz cuadrada

Para elevar un número x a la potencia y, se emplea pow(x, y) System.out.println("5 al cubo 3 es: " + Math.pow(5,3));

// Para hallar la raíz cuadrada de un número, se emplea la función sqrt int n=15;

System.out.println("La raíz cuadrada de " + n + " es " + Math.sqrt(n));

9 Aproximación de un número decimal

Para expresar un número real con un número especificado de números decimales

empleamos la función round. Por ejemplo, para expresar los números x e y con dos cifras decimales escribimos

double x = 72.3543; double y = 0.3498;

System.out.println(x + " es aprox. " + (double)Math.round(x*100)/100); System.out.println(y + " es aprox. " + (double)Math.round(y*100)/100); /*Se obtiene 72.35 y 0.35 como cabría esperar.

Fijarse que round devuelve un número entero int que es necesario promocionar a double para efectuar la división entre 100.

Si empleamos la función floor en vez de round obtendríamos*/

System.out.println(x + " es aprox. " + Math.floor(x*100)/100); System.out.println(y + " es aprox. " + Math.floor(y*100)/100);

Ejemplo: de 72.35 y 0.34 se obtiene. La aproximación del primero es correcta ya que la tercera cifra decimal es 4 inferior a 5. La aproximación del segundo es incorrecta ya que la tercera cifra decimal es 9 mayor que 5. En la mayor parte de los cálculos se cometen errores, por lo que la diferencia entre floor y round no es significativa.

™ El mayor y el menor de dos números

Para hallar el mayor y el menor de dos números se emplean las funciones min y max que comparan números del mismo tipo.

int i = 7; int j = -9;

double x = 72.3543; double y = 0.3498;

// para hallar el menor de dos número

System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j));

System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y));

// Para hallar el mayor de dos números

System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j));

System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));

™ Números aleatorios, absolutos, max, min int i = 7;

int j = -9;

double x = 72.3543; double y = 0.3498;

System.out.println("el 1er valor es : " + i); System.out.println("el 2do valor es : " + j); System.out.println("el 3er valor es :" + x); System.out.println("el 4to valor es :" + y); // Valor absoluto de un número

System.out.println("Valor absoluto de |" + i + "| es " + Math.abs(i)); System.out.println("Valor absoluto de |" + j + "| es " + Math.abs(j)); System.out.println("Valor absoluto de |" + x + "| es " + Math.abs(x)); System.out.println("Valor absoluto de |" + y + "| es " + Math.abs(y));

// para hallar el menor de dos número

System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j)); System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y)); // Para hallar el mayor de dos números

System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j)); System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y)); // las constantes PI y E System.out.println("Pi es " + Math.PI); System.out.println("e es " + Math.E);

System.out.println("La raíz cuadrada de " + i + " es " + Math.sqrt(i)); // Programación en el lenguaje Java 9

// Devuelve un número pseudo-aleatorio comprendido entre 0.0 y 1.0 System.out.println("Número aleatorio: " + Math.random());

System.out.println("Otro número aleatorio: " + Math.random());

¾ Ingresar 4 numeros y mostrar el numero mayor.

private void b3_actionPerformed(ActionEvent e) {

int a,b,c,d,m1;

a=Integer.parseInt(txta.getText());

b=Integer.parseInt(txtb.getText());

c=Integer.parseInt(txtc.getText());

d=Integer.parseInt(txtd.getText());

m1=Math.max(a,b);

m1=Math.max(m1,c);

m1=Math.max(m1,d);

lblm.setText(""+m1);

}