Click here to load reader
Upload
henry-cambal
View
71
Download
4
Embed Size (px)
Citation preview
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);
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);
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");
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");
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
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) {
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);
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);
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:
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)))
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:
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);
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");