18

Click here to load reader

1 ejercicio

Embed Size (px)

Citation preview

Page 1: 1 ejercicio

1Construir un programa que, dado el radio de una esfera, calcule y devuelva por pantalla el valor de la superficie y el volumen de la esfera correspondiente.

double r,s,v;

double PI = 3.1416;

r = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el valor del radio"));

System.out.println("Calculo de la superficie y volumen de una esfera");

s=4*PI*r*r;

v=(4/3)*PI*r*r*r;

System.out.println("La Superficie de la esfera es= " + s);

System.out.println("El Volumen de la esfera es= " + v);

2Construir un programa que dado el peso (en kilogramos) y la altura de una persona (en metros) calcule y muestre por parntalla su Indice de Masa Corporal (IMS) o índice de Quetelet. Este índice pretende determinar el intervalo de peso más saludable que puede tener una persona. El valor de este índice se calcula mediante la siguiente expresión: IMS = peso/altura2. Se suele establecer un intervalo de 18 a 25 como saludable en personas adultas.

System.out.println("Calculo del indice de masa corporal");

double peso;

double altura;

peso = Double.parseDouble(JOptionPane.showInputDialog("Ingrese el peso"));

altura = Double.parseDouble(JOptionPane.showInputDialog("Ingrese la altura"));

double imc = peso/(altura*altura);

System.out.println("el indice de masa corporal es de= "+ imc);

Page 2: 1 ejercicio

3Programa que, dado un número total de horas, devuelve el número de semanas, días y horas equivalentes.

int th, s, d, h;

th= Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero total de horas"));

s = th / (24*7);

d = th % (24*7) / 24;

h = th % 24;

System.out.println(s + " semanas");

System.out.println(d + " dias");

System.out.println(h + " horas");

4Dada una variable  esBisiesto de tipo  boolean almacenar el valor verdadero o falso dependiendo de si el año asignado a la variable  a de tipo  integer es bisiesto o no respectivamente. Nota: un año es bisiesto si es divisible entre 4 y no lo es entre 100. También es bisiesto si es divisible entre 400. Por ejemplo: 2000 y 2004 son años bisiestos mientras que  1900 y 2005 no son bisiestos.

int a;

boolean esBisiesto;

a = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el año"));

if ((a % 4 == 0) && ((a % 100 != 0) || (a % 400 == 0)))

esBisiesto=true;

else

esBisiesto=false;

System.out.println("El año es bisiesto? : "+esBisiesto);

Page 3: 1 ejercicio

5Programa que visualiza por pantalla si un año introducido por teclado es bisiesto o no

int anio;

anio = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el año"));

if ((anio % 4 == 0) && ((anio % 100 != 0) || (anio % 400 == 0)))

System.out.println("SI es bisiesto");

else

System.out.println("NO es bisiesto");

6Expresión que indica si una fecha es válida o no. utilizar el formato americano para ingresar una fecha.

int fecha, a, m, d;

String val ="NO";

fecha = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la fecha formato americano: mmddaaaa"));

m=fecha/1000000;

d=(fecha-(1000000*m))/10000;

a=fecha-1000000*m-10000*d;

if ((a > 0) && (m>0) && (m<13) && (d>0) && (d<31)){

val="SI";

}

System.out.println("fecha : "+fecha);

System.out.println("mes : "+m);

System.out.println("dia : "+d);

System.out.println("año : "+a);

System.out.println("La fecha ingresada "+val+" es valida");

Page 4: 1 ejercicio

7Expresión que indica si una hora es válida o no. utilizar el formato de 24 horas.

int hora, h, m;

String val ="NO";

hora = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la hora en formato 24 horas: hhmm"));

h=hora/100;

m=hora-100*h;

if ((h>=0) && (h<24) && (m>=0) && (m<60)){

val="SI";

}

System.out.println(hora+" horas");

System.out.println("horas : "+h);

System.out.println("minutos : "+m);

System.out.println("La hora ingresada "+val+" es valida");

8Programa que, dado un número total de segundos, devuelve el número de horas, minutos y segundos equivalentes. Por ejemplo, dado un total de 3800 segundos debe mostrar 1 hora, 3 minutos y 20 segundos.

int segundos, h, m, s;

segundos= Integer.parseInt(JOptionPane.showInputDialog("Ingrese el total de Segundos"));

s = segundos % 60;

m = segundos / 60 % 60;

h = segundos / 60 / 60 % 24;

System.out.println(h+" horas, "+m+" minutos, "+s+" segundos");

Page 5: 1 ejercicio

9Construir un programa que calcule y muestre por pantalla las raíces de la ecuación de segundo grado de coeficientes reales. El programa debe diferenciar los diferentes casos que puedan surgir: la existencia de dos raíces reales distintas, de dos raíces reales iguales y de dos raíces complejas. Nota: se recomienda el empleo de sentencias if–else anidadas.

double a, b, c, discriminante, x1, x2, preal, pimag;

a = Double.parseDouble(JOptionPane.showInputDialog("Ingrese el total de a"));

b = Double.parseDouble(JOptionPane.showInputDialog("Ingrese el total de b"));

c = Double.parseDouble(JOptionPane.showInputDialog("Ingrese el total de c"));

System.out.print("Soluciones de la ecuacion de segundo grado: ");

discriminante = b*b - 4*a*c;

if (discriminante>0) {

// Dos raices reales

x1 = (-b + Math.sqrt(discriminante))/(2*a);

x2 = (-b - Math.sqrt(discriminante))/(2*a);

System.out.println(a + "x2 + " + b + "x + " + c);

System.out.println("Tiene dos raices reales");

System.out.println("La primera raiz es x1 = " + x1);

System.out.println("La segunda raiz es x2 = " + x2);

}

else if (discriminante<0) {

// Dos raices imaginarias

Page 6: 1 ejercicio

preal = (-b)/(2*a);

pimag = Math.sqrt(-discriminante)/(2*a);

System.out.println(a + "x2 + " + b + "x + " + c);

System.out.println("Tiene dos raices complejas");

System.out.println("La primera raiz es x1 = " + preal + "+i" + pimag);

System.out.println("La segunda raiz es x2 = " + preal + "-i" + pimag);

}

else {

// Dos raices iguales

x1 = (-b)/(2*a);

System.out.println(a + "x2 + " + b + "x + " + c);

System.out.println("Dos raices identicas, x1 = x2 = " + x1);

10Construir un  programa que simule el funcionamiento de una calculadora que puede realizar las cuatro operaciones aritméticas básicas (suma, resta, producto y división) con valores numéricos enteros. El usuario debe especificar la operación con el primer carácter del primer parámetro de la línea de comandos: S o s para la suma, R o r para la resta, P, p, M o m para el producto y D o d para la división. Los valores de los operandos se deben indicar en el segundo y tercer parámetros. Nota: Se recomienda el empleo de una sentencia switch.

BufferedReader lee = new BufferedReader(new InputStreamReader(System.in));

char c;

int a,b;

c='s';

a = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer numero"));

b = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el segundo numero"));

switch (c) {

Page 7: 1 ejercicio

case 'S':

case 's': System.out.println("Resultado de la suma: " + (a+b)); break;

case 'R':

case 'r': System.out.println("Resultado de la resta: " + (a-b)); break;

case 'M':

case 'm':

case 'P':

case 'p': System.out.println("Resultado del producto: " + a*b); break;

case 'D':

case 'd': System.out.println("Resultado de la division: " + a/b); break;

default: System.out.println("Por favor, indica la operacion"); break;

11Programa que indica si un valor numérico es el cuadrado de otro valor numérico entero.

int a,b;

a = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero a consultar"));

b = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero a ver si es cuadrado"));

if(Math.sqrt(a)==b)

System.out.println("El numero " + a+" SI es el cuadrado de "+b);

else

System.out.println("El numero " + a+" NO es el cuadrado de "+b);

Page 8: 1 ejercicio

12Programa que indica el menor de tres valores numéricos.

int a,b,c;

a = Integer.parseInt(JOptionPane.showInputDialog("Ingrese primer numero"));

b = Integer.parseInt(JOptionPane.showInputDialog("Ingrese segundo numero"));

c = Integer.parseInt(JOptionPane.showInputDialog("Ingrese tercer numero"));

if((a<b)&&(a<c))

System.out.println("El numero menor es: " + a);

else if((b<a)&&(b<c))

System.out.println("El numero menor es: " + b);

else

System.out.println("El numero menor es: " + c);

13Programa que indica el mayor de tres valores numéricos.

int a,b,c;

a = Integer.parseInt(JOptionPane.showInputDialog("Ingrese primer numero"));

b = Integer.parseInt(JOptionPane.showInputDialog("Ingrese segundo numero"));

c = Integer.parseInt(JOptionPane.showInputDialog("Ingrese tercer numero"));

if((a>b)&&(a>c))

System.out.println("El numero mayor es: " + a);

else if((b>a)&&(b>c))

System.out.println("El numero mayor es: " + b);

else

System.out.println("El numero mayor es: " + c);

Page 9: 1 ejercicio

14Programa que indica el valor central de tres valores numéricos.

int a,b,c;

a = Integer.parseInt(JOptionPane.showInputDialog("Ingrese primer numero"));

b = Integer.parseInt(JOptionPane.showInputDialog("Ingrese segundo numero"));

c = Integer.parseInt(JOptionPane.showInputDialog("Ingrese tercer numero"));

if((b>a)&&(a>c))

System.out.println("El valor central es: " + a);

else if((a>b)&&(b>c))

System.out.println("El valor central es: " + b);

else

System.out.println("El valor central es: " + c);

15Programa que indica el número de días de un mes dado con un valor entero.

int mes;

mes = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero de mes a consultar los dias"));

switch(mes){

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: System.out.println("El mes " + mes+" tiene 31 dias"); break;

case 4:

Page 10: 1 ejercicio

case 6:

case 9:

case 11: System.out.println("El mes " + mes+" tiene 30 dias"); break;

case 2: System.out.println("El mes " + mes+" tiene 28 dias"); break;

default: System.out.println("Numero de mes invalido"); break;

16Programa que dado el ordinal correspondiente al mes de un año, indique el número de días de ese mes (31, 28, 31, 30…)

int mes, anio;

mes = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero de mes a consultar los dias"));

anio = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el año a consultar los dias"));

switch(mes){

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: System.out.println("El mes " + mes+" tiene 31 dias"); break;

case 4:

case 6:

case 9:

case 11: System.out.println("El mes " + mes+" tiene 30 dias"); break;

case 2: if ((anio % 4 == 0) && ((anio % 100 != 0) || (anio % 400 == 0)))

Page 11: 1 ejercicio

System.out.println("El mes " + mes+" tiene 29 dias");

else

System.out.println("El mes " + mes+" tiene 28 dias"); break;

default: System.out.println("Numero de mes invalido"); break;

17Programa que dados un día del mes, un mes y un año indique si la fecha es válida o no. Notas: debe considerarse el caso de año bisiesto y puede emplearse una sentencia switch para discernir entre los diferentes meses

int a, m, d, dm;

String val ="NO";

dm=30;

d = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el dia"));

m = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el mes"));

a = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el anio"));

switch(m){

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: dm=31; break;

case 4:

case 6:

case 9:

Page 12: 1 ejercicio

case 11: dm=30; break;

case 2: if ((a % 4 == 0) && ((a % 100 != 0) || (a % 400 == 0)))

dm=29;

else

dm=28; break;

default: break;

}

if ((a > 0) && (m>0) && (m<=12) && (d>0) && (d<=dm))

val="SI";

System.out.println("mes : "+m);

System.out.println("dia : "+d);

System.out.println("año : "+a);

System.out.println("La fecha ingresada "+val+" es valida");

18Programa que calcula la potencia de una base real elevado a un exponente entero

int exp;

double base,pot;

base = Double.parseDouble(JOptionPane.showInputDialog("Ingrese la base"));

exp = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el exponente"));

pot = Math.pow(base, exp);

System.out.println("La potencia es = " + pot);

Page 13: 1 ejercicio

19Programa que calcula el número de años en el que se duplica una población que aumenta con una tasa de crecimiento positiva y fija anualmente.

double tasa, tiempo;

tasa = Double.parseDouble(JOptionPane.showInputDialog("Ingrese la tasa de cresimiento"));

tiempo=70/tasa;

System.out.println("La poblacion se duplica en : " + tiempo+" anios, a una tasa de crecimiento del "+tasa+"%");

20Construir un programa que simule el juego de la adivinanza de un número. El ordenador debe generar un número aleatorio entre 1 y 100 y el usuario tiene cinco oportunidades para acertarlo. Después de cada intento el programa debe indicarle al usuario si el número introducido por él es mayor, menor o igual al número a adivinar. Nota: para generar el valor aleatorio puede emplearse la sentencia: int x  = (int) (100*Math.random()+1);

int valor, aleatorio, i;

for (i=0; i<5; i++){

valor= Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero"));

aleatorio = (int) (100*Math.random()+1);

if (valor<aleatorio)

System.out.println("El numero ingresado es menor");

else if (valor>aleatorio)

System.out.println("El numero ingresado es mayor");

else

System.out.println("Acertaste con el numero");

}

System.out.println("MAXIMO NUMERO DE INTENTOS : 5");