lunes

EVALUACION FINAL

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de posiciones en el vector"));

String vnom []=new String [n];
int ve []=new int [n];
for(int i =0;i vnom[i]=JOptionPane.showInputDialog("Digite su nombre");

do{


ve[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite su edad"));
}while(ve[i]<10ve[i]>90);
}
for(int i =0;i

String consulta;
int opc;
do{

do{
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite la opcion que decee hacer\n 1: Cantidad de edades que son mayores al promedio de edades \n 2:Ordenar el vector en forma ascendente\n 3:Persona con la edad mayor y enque posicion se encuentra\n 4:Persona a buscar"));
}while(opc<1opc>4);

switch(opc){

case 1:
int ce=0;
float pre=0;
int se=0;
i=0;
do{
se=se+ve[i];
i=i+1;
}while(i
JOptionPane.showMessageDialog(null, "La suma es " + se);
pre=se/n;
i=0;
do{

if(ve[i]>pre){
ce=ce+1;

}

i=i+1;
}while(i
JOptionPane.showMessageDialog(null, "El promedio de edades es" + pre);
JOptionPane.showMessageDialog(null, "La cantidad de edades mayores al promedio son"+ce);


break;
case 2:
int temp;
String nom;
i=0;
while(i int j=i+1;
while(j if(ve[i] temp=ve[i];
ve[i]=ve[j];
ve[j]=temp;

nom=vnom[i];
vnom[i]=vnom[j];
vnom[j]=nom;
}


j=j+1;
}

JOptionPane.showMessageDialog(null, "Las edades en forma ascendente es "+ ve[i]+ " el nombre es " + vnom[i]);
i=i+1;
}

break;

case 3:
int mayor=0;
i=0;
do{
if (ve[i]>mayor){
mayor=ve[i];
}
i=i+1;
}while (i i=0;
do{
if (mayor==ve[i]){
JOptionPane.showMessageDialog(null, "La persona con la edad mayor es "+vnom[i]+" posicion "+ i);
}
i=i+1;
}while(i break;

case 4:{
int op;
String con;
do{
do{
op=Integer.parseInt(JOptionPane.showInputDialog("Digite la opcion que decee hacer\n 1:El nombre\n 2:La edad"));
}while(op<1op>2);


switch (op){
case 1:
String nm=JOptionPane.showInputDialog("Digite el nombre a buscar");
int j=0;
while(j if(vnom[j].equals(nm)){
JOptionPane.showMessageDialog(null, "El nombre si esta " + vnom[j] + ve[i]);

}
j=j+1;
}

break;
case 2:
int edad=Integer.parseInt(JOptionPane.showInputDialog("Digite la edad a buscar"));
j=0;
while(j if(edad==ve[j]){

JOptionPane.showMessageDialog(null, "La edad si esta " + ve[j] + vnom[j]);

}
j=j+1;
}
break;
}



con=JOptionPane.showInputDialog("Desea hacer otra consulta");
}while(con.equals("si"));
}

}
consulta=JOptionPane.showInputDialog("Desea hacer otra consulta del menu principal");
}while(consulta.equals("si"));
}
}
}



EJERCICIOS EN JAVA 01-04 TALLER4 (WHILE)

1- Almacenar en un vector A N números entre 1 y 100; posteriormente almacenar en un Vector B, el correspondiente número Binario a los números almacenados en el Vector A.

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros"));
int []va=new int [n];
String []vb=new String [n];
int z;
int r=0;
String rr= " ";
int i=0;
while(i rr= " ";
do{
va[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
}while(va[i]<1va[i]>100);
z=va[i];
int j=0;
while(j r=(int)(z%2);
rr=r+rr;
z=(int)(z/2);
j=j+1;
}
r=(int) (z%2);
rr=r+rr;
z=(int) (z/2);
rr=z+rr;
vb[i]=rr;
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "El numero binario es "+vb[i]);
i=i+1;
}
}
}


2- Almacenar en un vector Llamado Enteros N números y en un Vector llamado Perfecto, la respuesta (si - no) si el número almacenado en el vector Enteros es Perfecto o No, recordemos que Se dice que un número N es perfecto si la suma de sus divisores (excluido el propio N) es N. Por ejemplo 28 es perfecto, pues sus divisores (excluido el 28) son: 1, 2, 4, 7 y 14 y su suma es 1+2+4+7+14=28.
int n=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de numeros "));

int d=0;
int num[]=new int [n];
String []va=new String [n];
int j=0;
while (j num[j]=Integer.parseInt(JOptionPane.showInputDialog("digite el numero "));
j=j+1;
}
int a=0;
while(a int suma=0;
int i=1;
while (i d=(num[a]%i);
if (d==0){
suma=suma+i;
}
i=i+1;
}
if (suma==num[a]){
va[a]="si";
JOptionPane.showMessageDialog(null, "el numero "+num[a]+ " : " + va[a]+ " es perfecto ");
}
else {
va[a]="no";
JOptionPane.showMessageDialog(null, ""+num[a]+ " : " +va[a] + " es perfecto");
}
a=a+1;
}

}
}


3- Almacenar en un Vector A años entre 1900 y 2000; y en otro Vector B decir si el año almacenado en el Vector A es bisiesto o No. Un año es bisiesto si es múltiplo de 4, exceptuando los múltiplos de 100, que sólo son bisiestos cuando son múltiplos además de 400, por ejemplo el año 1900 no fue bisiesto, pero el año 2000 si lo será.

int r;
int m, s;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de años "));
String []vb=new String [n];
int []va=new int [n];
int i=0;
while(i do{
va[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el año"));
}while(va[i]<1900va[i]>2000);


r=va[i]%4;
m=va[i]%100;
s=va[i]%400;
if(r==0&& m!=0 s==0){

vb[i]="si";
JOptionPane.showMessageDialog(null, "El año " +vb[i] + " : " + "es bisiesto ");

}
else{
vb[i]="no";
JOptionPane.showMessageDialog(null, "El año " +vb[i]+ " : "+ "es bisiesto ");
}
i=i+1;
}

}
}

4. Hacer un programa que lea un número N y obtenga las ternas pitagóricas (A, B, C) en las que A, B y C son todos enteros positivos y menores que N. Para que una terna (A, B, C) sea pitagórica debe cumplir que A2+B2=C2.
int tp;

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite los numeros"));
int i=1;
while(i<=n){
tp=n*n;
int a, b, c;
int j=1;
while(j<=n){
a=i*i;
b=j*j;
c=b+a;
if(c==tp){
JOptionPane.showMessageDialog(null,"" + i + " + "+ j+"="+c);
}
j=j+1;
}
i=i+1;
}


}
}

EJERCICIOS EN JAVA 01-06 TALLER N3 (DO WHHILE)

1-Dado un vector de 15 posiciones, almacenarlos con números k se encuentre en el rango entre 10 y 30, luego de estar lleno el vector debe mostrar el siguiente menú:
· Suma de los números pares del vector.
· Cantidad de números impares.
· Cantidad de números múltiplos de 4.
· Numero mayor.
· Número menor.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

int i=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros en el vector"));
int [] vnum=new int [n];

while(i do{
vnum[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
}while(vnum[i]<10vnum[i]>30);
i=i+1;
}

int opc;
String consulta;
do{
do{
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite la opcion que decee:\n 1:suma de los numeros pares del vector\n 2:cantidad de numeros impares\n 3:cantidad de numeros multiplos de 4\n 4:numero mayor ingresado en el vector\n 5:numero menor ingresado en el vector"));
}while(opc<1opc>5);
switch (opc) {


case 1:
int r=0;
int sp=0;
i=0;
while(i r=vnum[i]%2;
if(r==0){
sp=sp+vnum[i];
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "La suma de los numeros pares en el vector es"+String.valueOf(sp));

break;

case 2:
int ci=0;
i=0;
while(i r=vnum[i]%2;
if(r!=0){
ci=ci+1;
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "La cantidad de numeros impares es"+String.valueOf(ci));
break;

case 3:
int cnm=0;
i=0;
while(i r=vnum[i]%4;
if(r==0){
cnm=cnm+1;
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "La cantidad de numeros multiplos de 4 son "+String.valueOf(cnm));
break;

case 4:
int nm=0;
i=0;
while(i if(vnum[i]>nm){
nm=vnum[i];
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "El numero mayor es"+String.valueOf(nm));
break;

case 5:
i=0;
int nme=vnum[0];
while(i if(vnum[i] nme=vnum[i];
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "El numero menor es"+String.valueOf(nme));
break;


}
consulta=JOptionPane.showInputDialog("Desea hacer otra consulta");
}while(consulta.equals("si"));

}
}


2-llenar un vector N posiciones; posteriormente imprimir por pantalla el siguiente menú
A .ordenar el vector
1 .ascendente.
2 .descendentemente.
B .cambiar el valor de una posición en el vector (se debe pedir la posición a la cual se le debe cambiar el valor y el nuevo valor).
C .cantidad de veces que se encuentra el numero en el vector (el usuario digita un numero y decir cuántas veces se repite) si no se encuentra enviar el mensaje de no encontrad.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros en el vector"));

int i=0;


int vnum[]=new int[n];

while (i vnum [i]=Integer.parseInt(JOptionPane.showInputDialog("Digite los numeros "));
i=i+1;
}
int opcion;
String cons;
do{
do{
opcion=Integer.parseInt(JOptionPane.showInputDialog("Digite la opcion que decee \n 1:ordenar el vector\n 2: cambiar el valor de una posicion en el vector\n 3: cantidad de veces que se encuentra el numero en el vector"));
}while (opcion<1opcion>3);
switch (opcion){
case 1:

String consulta;
int opc;
do{

do{
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite la opcion\n 1: ordenar el vector de forma ascendente \n 2: ordenar el vector de forma descendente"));
}while (opc<1opc>2);
switch (opc){


case 1:
i=0;

int t;
while (i int j=0;
while (j if(vnum[i] t=vnum[i];
vnum[i]=vnum[j];
vnum[j]=t;
}
j=j+1;
}
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "los numeros en forma ascendente son:"+String.valueOf(vnum[i]));
i=i+1;
}
break;

case 2:
i=0;

while (i int k=0;
while (k if(vnum[i]>vnum[k]){
t=vnum[i];
vnum[i]=vnum[k];
vnum[k]=t;
}
k=k+1;
}
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "los numeros en forma descendente son:"+String.valueOf(vnum[i]));
i=i+1;
}
break;

}
consulta=JOptionPane.showInputDialog("Desea hacer otra consulta en el case 1");
}while(consulta.equals("si"));
break;


case 2:

int posicion;
do{


posicion =Integer.parseInt(JOptionPane.showInputDialog("digite la posicion a la que le desea cambiar el valor"));
}while(posicion<0posicion>n-1);
int nv=Integer.parseInt(JOptionPane.showInputDialog("digite el nuevo valor "));
i=0;
while (i vnum[posicion]=nv;
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "el nuevo valor de la posicion "+ i +" es:"+ String.valueOf(vnum[i]));
i=i+1;
}break;


case 3:

int ba=0;
int c=0;
int c1=0;
int numero=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
i=0;
while(i if(numero==vnum[i]){
ba=1;
c=c+1;
}
else{
c1=c1+1;
}
i=i+1;
}
if(ba==1){
JOptionPane.showMessageDialog(null, "La cantidad de veces que se repite el numero "+ numero +"en el vector es"+String.valueOf(c));
}
if(c1==n){
JOptionPane.showMessageDialog(null, "El numero no fue encontrado");
}
break;
}

cons=JOptionPane.showInputDialog("Desea hacer otra consulta en el menu principal");
}while(cons.equals("si"));

}
}


3-llenar tres vectores con información de un usuario cedula, nombre, promedio (recuerde que la información de un usuario se encuentra en la misma posición en cada uno de los vectores). Luego de tener lleno los tres vectores se debe mostrar el siguiente menú.
a. Mostrar el listado por nombre de la persona cuyo promedio es menor a 3.5.
b. Mostrar el nombre de la persona cuyo promedio es el mayor de todos.
c. Hacer una búsqueda del promedio por cedula (el usuario digita la cedula buscar e inmediatamente se debe imprimir el promedio de dicha persona )
d. Cambiar promedio (localiza por cedula a la persona a la cual le va a cambiar el promedio) pidiendo el nuevo valor del promedio.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de posiciones: "));

int []vc= new int[n];
String[]vn= new String[n];
float []vp= new float [n];

int i=0;

while(i vc[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de la cedula: "));
vn[i]=JOptionPane.showInputDialog("Digite el nombre: ");
do{
vp[i]=Float.parseFloat(JOptionPane.showInputDialog("Digite el promedio: "));
}while(vp[i]<1.0>5.0);
i=i+1;
}


int opc;
String cons;
do{
do{
opc =Integer.parseInt(JOptionPane.showInputDialog("Digite 1/n: listado de las personas con promedio menor a 3.5: \n 2=para ver el nombre de la persona con mayor promedio: \n 3=para hacer la busqueda del promedio por cedula: \n 4=para cambiar promedio: "));

}while(opc<>4);

switch (opc) {
case 1:
int j=0;
while(j if(vp[j]<3.5){
JOptionPane.showMessageDialog(null,("El nombre de la persona cuyo promedio menor: " )+vn[j]);
}
j=j+1;
}

break;

case 2:
float pm=0;
String nombre = null;

int k=0;
while (k if (vp[k]>pm){
pm= vp[k];
nombre=vn[k];

}
k=k+1;
}

JOptionPane.showMessageDialog(null,"El nombre de la persona cuyo promedio mayor es:"+ nombre);
break;
case 3:

int ced=Integer.parseInt(JOptionPane.showInputDialog("Digite la cedula a buscar:"));
k=0;
while (k if(vc[k]==ced){

JOptionPane.showMessageDialog(null, "El promedio de dicha persona es:"+ vp[k]);
}
k=k+1;
}
break;

case 4:

int cedula=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de la cedula: "));
k=0;
while (k if(vc[k]==cedula){
float np =Float.parseFloat(JOptionPane.showInputDialog("Digite el nuevo promedio: "));
vp[k]=np;
}
k=k+1;
}
j=0;
while (j JOptionPane.showMessageDialog(null, "La cedula es: " +vc[j]+ " : " +vp[j] );
j=j+1;
}

break;


}

cons=JOptionPane.showInputDialog("Desea realizar otra consulta ");
}while(cons.equals("si"));



}

}


4-hacer un programa que dado un numero imprima los números entre 2 y el numero, pero coloca entre paréntesis si el numero es primo, si es un numero compuesto no.eg. Si el numero ingresado es 12…seria: (2) (3) 4 (5) 6 (7) 8 9 10 (11) 12 y los números primos deben ser almacenados en un vector.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

String cons;
do{
int r=0;
int con=0;
int c=0;

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
int []vnum=new int [n];

int i=2;
while(i con=0;
int j=2;
while(j r=i%j;
if(r==0){
con=con+1;
}
j=j+1;
}
if(con==0){
JOptionPane.showMessageDialog(null, "Los numeros primos en el vector es: (" + i + ")");
vnum[c]=i;
c=c+1;
}

else{
JOptionPane.showMessageDialog(null, "Los numeros compuestos en el vector son "+ i);
}
i=i+1;
}
cons= JOptionPane.showInputDialog("Desea hacer otra consulta");
}while(cons.equals("si"));
}
}


5- Dado n números almacenarlos en un vector, mostrar cuantos de esos números son capicúa (son aquellos k se lee igual hacia delante y hacia atrás).cuales
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

String consulta;
do{
int n=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de posiciones"));
int va[]=new int[n];
int i=0;
while(i
va[i]=Integer.parseInt(JOptionPane.showInputDialog("digite el numero posicion "+i));
while(va[i]<=0);
i=i+1;
}
int c=0;
i=0;

while(i

int falta=va[i];
int ni=0;
int resto=0;
resto=falta%10;
falta=falta/10;
ni=ni*10+resto;

while(falta!=0)
{
resto=falta%10;
ni=ni*10+resto;
falta=falta/10;

}
if(ni==va[i]){

JOptionPane.showMessageDialog(null, "el numero"+String.valueOf(va[i])+" es capicua");
c=c+1;
}else
JOptionPane.showMessageDialog(null, "el numero"+String.valueOf(va[i])+" no es capicua");
i=i+1;
}
JOptionPane.showMessageDialog(null, "la cantidad de numeros capicua son: "+String.valueOf(c));

consulta=JOptionPane.showInputDialog("Desea hacer otra consulta");
}while(consulta.equals("si"));
}

}

6- Almacenar 22 números enteros en un vector y en un Segundo vector almacenar la cantidad de números 1 k tiene dicho numero Ej:
2 12 121 33 14
0 1 2 0 1

Imprimir aquellos números k contiene el número 1 y frente a las cuantas veces se repite el número 1 en dicho numero Ej. 12=1.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

int d,s=0;
float r;
int n=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de numeros en el vector: "));

int []va=new int [n];
int []vb=new int[n];
String cons;
do{
int i=0;
while (i va[i]=Integer.parseInt(JOptionPane.showInputDialog("digite el numero:"));
i=i+1;
}
int j=0;
while(j d=0;
r=0;
s=0;
d=va[j];

do{
r=d%10;
if(r==1){
s=s+1;

}
d=(int)(d/10);
}while(d>0);
vb[j]=s;
j=j+1;
}
i=0;
while (i JOptionPane.showMessageDialog(null,"el numero: " + va[i]+ " la cantidad es: " + vb[i]);

i=i+1;
}
cons=JOptionPane.showInputDialog("Desea realizar otra consulta");
}while(cons.equals("si"));
}

}



int i=0;
while(in, m=n y mm){
s=m;
f=n;
}
else{
s=n;
f=m;
}
int con=0;
i=0;
while(i vc[con]=va[i];
con=con+1;
vc[con]=vb[i];
con=con+1;
i=i+1;
}
i=s;
while(i if(f==n){
vc[con]=va[i];
}
else{
vc[con]=vb[i];
}
con=con+1;
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "El resultado de intercalar los vectores es"+vc[i]);

i=i+1;
}

}
}

EJERCICIOS EN JAVA 26-29 TALLER N2 ( WHILE)

26-Los estudiantes de primer nivel de la carrera X de Unisangil, son 90, asuma que todos ven las mismas ocho materias. Al final del semestre se desea saber el promedio semestral de cada uno de los 90 estudiantes, cuantos quedaron PFU y cuantos quedaron condicionales. El promedio semestral de cada estudiante se calcula de la siguiente forma: La nota final de cada materia se multiplica por su respectivo creditaje (los cuales están almacenados en un vector A, y las notas finales de las materias están almacenadas en un vector B, las cuales están en el mismo orden utilizado en el primer vector), estos productos se suman y el resultado se divide por el total de créditos cursados por el estudiante en el semestre, que en este caso es igual para todos.
Un estudiante es considerado PFU cuando su promedio acumulado es menor de 2.60, se considera que un estudiante esta condicional cuando su promedio acumulado es menor de 3.20 y no quedo PFU, debido a que son estudiantes de primer nivel, el promedio acumulado es el mismo promedio semestral.

float pfu=0;
float c1=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de estudiantes"));

float vc []=new float [8];
int i=0;
while(i=3.2){
JOptionPane.showMessageDialog(null, "El estudiante es condisional");
c1=c1+1;
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "La cantidad de estudiantes que quedaron por fuera de la unisangil es "+ pfu);
JOptionPane.showMessageDialog(null, "La cantidad de estudiantes que quedaron condisionales es "+ c1);

}
}



27-Hacer un diagrama que llene dos vectores un Vector A de m elementos que contiene el código de todos los estudiantes que perdieron Calculo I, y un vector B de n elementos con código de los estudiantes que perdieron Algebra. Crear un nuevo vector C con el código de todos los estudiantes que perdieron las dos materias y ordenarlo de mayor a menor e imprimirlo.

int t;
int m=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de estudiantes que perdieron calculo 1"));
int []va=new int [m];
int i=0;
while(im){
i=0;
while(in, m=n y mm){
s=m;
f=n;
}
else{
s=n;
f=m;
}
int con=0;
i=0;
while(i vc[con]=va[i];
con=con+1;
vc[con]=vb[i];
con=con+1;
i=i+1;
}
i=s;
while(i if(f==n){
vc[con]=va[i];
}
else{
vc[con]=vb[i];
}
con=con+1;
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "El resultado de intercalar los vectores es"+vc[i]);

i=i+1;
}

}
}


28-Hacer el diagrama que llene un vector A de n elementos, dichos elementos pueden ser cualquier clase de carácter. Asuma que el vector tiene muchos elementos repetidos. El diagrama debe crear e imprimir un nuevo vector B que contenga todos los elementos de A, sin que hayan repetidos. Por ejemplo si el elemento x aparece cinco veces en el vector A, debe aparecer una sola vez en el vector B.

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros"));
int []va=new int [n];
int []vb=new int [n];

int i=0;
while(i va[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
i=i+1;
}
int con=0;
i=0;
while(i int b=0;
int j=0;
while(j if(va[i]==vb[j]){
b=1;
}
j=j+1;
}
if(b==0){
vb



[con]=va[i];
con=con+1;
}
i=i+1;
}
int j=0;
while(j JOptionPane.showMessageDialog(null, "Los numeros que estan en el vector a son "+vb[j]);
j=j+1;
}

}
}


29-Hacer una diagrama que llene dos vectores A de m elementos y B de n elementos, donde m puede ser mayor, igual o menor que n. Crear un nuevo vector C de m+n elementos, que sea el resultado de intercalar los vectores leídos, empezando por A. Cuando un vector sea más grande que el otro, los elementos que no alcanzan a ser intercalados se deben colocar al final del vector C, en el mismo orden que se encuentre, el programa debe solucionar satisfactoriamente las tres opciones que se presentan m>n, m=n y m
int s=0, f=0;

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de posiciones en el vector A"));
int []va=new int[n];
int i=0;
while(i va[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero en el vector A"));
i=i+1;
}
int m=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de posiciones en el vector B"));
int []vb=new int[m];
i=0;
while(i vb[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero en el vector B"));
i=i+1;
}
int vc []=new int [n+m];

if(n>m){
s=m;
f=n;
}
else{
s=n;
f=m;
}
int con=0;
i=0;
while(i vc[con]=va[i];
con=con+1;
vc[con]=vb[i];
con=con+1;
i=i+1;
}
i=s;
while(i if(f==n){
vc[con]=va[i];
}
else{
vc[con]=vb[i];
}
con=con+1;
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "El resultado de intercalar los vectores es"+vc[i]);

i=i+1;
}

}
}

EJERCICIOS EN JAVA 22-25 TALLER N2 ( WHILE)

22- Una empresa tiene 250 empleados, por cada uno de ellos tiene un registro que trae grabado su correspondiente salario mensual. Hacer el diagrama donde imprima cuantos empleados ganan más del promedio salarial de la empresa.


int s=0, nm=0;
float p;
int [] va=new int [4];
int i=0;
while(i<4){
va[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite su salario "));
s=s+va[i];
i=i+1;
}
p=s/4;
i=0;
while(i<4){
if(va[i]>p){
nm=nm+1;
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "La cantidad de empleados que ganan mas del promedio salarial de la empresa son"+String.valueOf(nm));


}

}



23-Hacer el diagrama que almacene en un vector A n elementos, una vez almacenado los datos en el vector, se debe averiguar cuál es el numero mayor y cuál es el número menor y en qué posición se encuentran. Sabiendo que el número mayor no tiene límite.

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros en el vector"));
int []vnum=new int [n];
int i=0;
while(i vnum[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
i=i+1;
}
int pma=0, pme=0;
int nma=vnum[0];
int nme=vnum[0];
i=0;
while(i if(vnum[i]>nma){
nma=vnum[i];
pma=i;
}
if(vnum[i] nme=vnum[i];
pme=i;
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "El numero mayor es"+String.valueOf(nma));
JOptionPane.showMessageDialog(null, "La posicion del numero mayor es"+String.valueOf(pma));
JOptionPane.showMessageDialog(null, "El numero menor es"+String.valueOf(nme));
JOptionPane.showMessageDialog(null, "La posicion del numero menor es"+String.valueOf(pme));

}

}

24- Hacer un diagrama que almacene en un vector A n elementos, los cuales deben ser enteros positivos, Una vez almacenados los elementos, se deben crear dos nuevos vectores B y C, de modo tal que en el vector B queden todos los números impares y en el vector C todos los múltiplos de 3. Al final debe imprimir los tres vectores, cada uno en un renglón diferente, de tal forma que todos los elementos de un vector queden en un mismo renglón.

int cb=0;
int cc=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros en el vector"));
int [] va=new int [n];
int i=0;
while(i do{
va[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
}while(va[i]<0);
if(0==va[i]%3){
cb=cb+1;
}
if(0!=va[i]%2){
cc=cc+1;
}
i=i+1;
}
int [] vb=new int [cc];
int []vc=new int [cb];

int c1=0;
int c2=0;
int r;
i=0;
while(i r=va[i]%2;
if(r==0){

}
else{
vb[c1]=va[i];
c1=c1+1;
}
int mt=va[i]%3;
if(mt==0){
vc[c2]=va[i];
c2=c2+1;
}
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "Los numeros en el vector A son "+String.valueOf(va[i]));
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "Los numeros impares en el vector B son "+String.valueOf(vb[i]));
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "Los numeros multiplos de 3 en el vector C son "+String.valueOf(vc[i]));
i=i+1;
}



}
}

25-La definitiva de una asignatura depende de notas 7 notas que se sacaron en el transcurso del semestre, las cuales se deben almacenar en un vector para cada alumno. Para calcular la nota definitiva de cada alumno se elimina el peor quiz. Calcular la nota definitiva para cada N alumnos y el promedio general de todos los alumnos. Se sabe que las notas deben estar en el rango de 0-5.0.

float pgg, pg=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de alumnos"));


float s = 0;
float df[]=new float [n];
float sp=0;

float []vnotas=new float [7];
int i=0;
while(i float nme=(float) 5.1;
float nma=0;
float sn=0;
int j=0;
while(j<7){
do{
vnotas[j]=Float.parseFloat(JOptionPane.showInputDialog("Digite su nota: "));
}while(vnotas[j]<0vnotas[j]>5.1);


if(vnotas[j] nme=vnotas[j];
}
if(vnotas[j]>nma){
nma=vnotas[j];
}
sn=sn+vnotas[j];
s=sn-nme;
j=j+1;
}
df[i]=s/6;
pg=pg+df[i];

JOptionPane.showMessageDialog(null, "La nota a eliminar es "+ nme );
JOptionPane.showMessageDialog(null, "La definitiva de cada alumno es " + i+ " El numero es : " + df[i] );
i=i+1;
}
pgg = pg/n;
JOptionPane.showMessageDialog(null, "El promedio general de todos los alumnos es "+String.valueOf(pgg));


}
}

EJERCICIOS EN JAVA 16-21 TALLER N2 (WHILE)

16- Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirán un 15% de descuento si compran más de 10 kilos. Determinar cuánto pagara cada cliente y cuanto percibirá la tienda por esas compras.


int svc=0,c=0;
float vc;
int vk=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor del kilo"));
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de clientes"));
int i=1;
while(i<=n){ int ck=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de kilos")); if(ck>10){
vc=(float)(ck*vk *0.85);
}
else{
vc=(float)(ck+vk);

}
JOptionPane.showMessageDialog(null, "El valor de la compra es "+String.valueOf(vc));
svc=(int)(svc+c);
i=i+1;
}
JOptionPane.showMessageDialog(null, "La suma del valor de la compra es "+String.valueOf(svc));
}
}


17-Un entrenador le ha propuesto a N atletas recorrer una ruta de cinco kilómetros durante 10 días, para determinar si es apto para la prueba de 5 kilómetros o debe buscar otra especialidad. Para considerarlo apto debe cumplir por lo menos una de las siguientes condiciones:

• Que en ninguna de las pruebas haga un tiempo mayor a 16 minutos
• Que al menos en una de las pruebas realice un tiempo mayor a 16 minutos
• Que su promedio de tiempos sea menor o igual a 15 minutos.
Si fue clasificado debe enviarle un mensaje de que es apto, de lo contrario enviar mensaje de buscar otra especialidad. Hallar la cantidad de atletas clasificados y porcentaje de no clasificados.

int c=0, nc=0;
float pt;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de atletas"));
int i=1;
while(i<=n){ int tm=0; int ti=0; int j=1; while(j<=10){ int t=Integer.parseInt(JOptionPane.showInputDialog("Digite el tiempo")); ti=ti+t; if(t>16){
tm=tm+1;
}
else{
}

j=j+1;
}
pt=(float)(ti/10);
if(pt<=15){ JOptionPane.showMessageDialog(null, "Fue clasificado: "); c=c+1; } else{ if(tm>1){
JOptionPane.showMessageDialog(null, "No fue clasificado");
nc=nc+1;
}
else{
JOptionPane.showMessageDialog(null, "Fue clasificado");
c=c+1;
}
}
i=i+1;
}
float p=(float)(100*nc/n);
JOptionPane.showMessageDialog(null, "La cantidad de atletas clasificados es: "+String.valueOf(c));
JOptionPane.showMessageDialog(null, "El porcentaje de atletas no clasificados es: "+String.valueOf(p));
}
}


18-Un zoológico pretende determinar el porcentaje de animales que hay en las siguientes tres categorías de edades: 0-1 año, de más de 1 año y menos de 3; y de 3 o más años. El zoológico todavía no está seguro del animal que va a estudiar. Si se decide por elefantes solo tomara una muestra de 20 de ellos; si se decide por las jirafas, tomara 15 muestras, y si son chimpancés tomara 40.

float e1=0,e2=0,e3=0,j1=0,j2=0,j3=0,ch1=0,ch2=0,ch3=0, p1=0, p2=0, p3=0;
int opc;
do{
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite la opcion que decee 1:elefantes 2:jirafas 3:chimpances"));
}while(opc<0opc>3);


switch (opc) {
case 1:
int e=1;
while(e<=3){ int edad=Integer.parseInt(JOptionPane.showInputDialog("Digite la edad del animal"));

if(edad>=0&&edad<=1){
e1=e1+1;
} else{
if(edad>=1&&edad<=3){
e2=e2+1;
} else{
e3=e3+1;
}
}
e=e+1;
}
p1=(100*e1)/3;
p2=(100*e2)/3;
p3=(100*e3)/3;
break;
case 2:
int j=1;
while(j<=3){
int edad=Integer.parseInt(JOptionPane.showInputDialog("Digite la edad del animal"));
if(edad>=0&&edad<=1){
j1=j1+1;
} else{
if(edad>=1&&edad<=3){
j2=j2+1;
} else{ j3=j3+1;
}
}
j=j+1;
} p1=(100*j1)/3;
p2=(100*j2)/3;
p3=(100*j3)/3;
break;
case 3:
int ch=1;
while(ch<=3){
int edad=Integer.parseInt(JOptionPane.showInputDialog("Digite la edad del animal"));
if(edad>=0&&edad<=1){
ch1=ch1+1;
} else{
if(edad>=1&&edad<=3){
ch2=ch2+1;
} else{
ch3=ch3+1;
}
}
ch=ch+1;
}
p1=(100*ch1)/3;
p2=(100*ch2)/3;
p3=(100*ch3)/3;
break;
}
JOptionPane.showMessageDialog(null, "El porcentaje en el rango 0 y 1 es"+String.valueOf(p1)); JOptionPane.showMessageDialog(null, "El porcentaje en el rango 1 y 3 es"+String.valueOf(p2)); JOptionPane.showMessageDialog(null, "El porcentaje en el rango mas de 3 es"+String.valueOf(p3));
}
}

19-El departamento de seguridad publica del departamento de Santander desea saber de los n autos que entran a la ciudad de Bucaramanga, cuantos entran con calcomanía de cada color. Conociendo el dígito de la placa de cada automóvil se puede determinar el color de la calcomanía utilizando la siguiente relación: DIGITO COLOR
1-2 Amarilla
3-4 Rosada
5-6 Roja
7-8 Verde
9-0 Azul

int ca=0,cro=0,cv=0,crojo=0,caz=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de autos"));
int i=1;
while(i<=n){
int np;
do{
np=Integer.parseInt(JOptionPane.showInputDialog("digite el numero de la placa"));
}while(np<0&&np>4);
if(np>0&&np<3){

ca=ca+1;
} else{
if(np>2&&np<5){>
cro=cro+1;
} else {
if(np>4&&np<7){>
crojo=crojo+1;
} else{
if(np>6&&np<8){>
cv=cv+1;
} else{
caz=caz+1;
}
}
}
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "la cantidad de autos amarillos son"+String.valueOf(ca));
JOptionPane.showMessageDialog(null, "la cantidad de autos rosados son"+String.valueOf(cro));
JOptionPane.showMessageDialog(null, "la cantidad de autos rojos son"+String.valueOf(crojo));
JOptionPane.showMessageDialog(null, "la cantidad de autos verdes son"+String.valueOf(cv));
JOptionPane.showMessageDialog(null, "la cantidad de autos azules son"+String.valueOf(caz));
}
}

20-N personas desean invertir su dinero en un banco, el cual le otorga un 2%de interés mensual, cuál será la cantidad de dinero que estas personas tendrán al cabo de año y medio si la ganancia de cada mes es reinvertida?

int n=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de personas"));
int i=1;
while(i<=n){
int i1=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de inversion"));
int j=1;
while(j<=18){
i1=(int)(i1*10.2);
j=j+1;
}
JOptionPane.showMessageDialog(null, "la nueva inversion es:"+String.valueOf(i1));
i=i+1;
}
}
}

21- Se desea obtener el promedio de g Grupos que están en un mismo año escolar; siendo que cada grupo puede tener n alumnos que cada alumno puede llevar m materias y que en todas las materias se promedian tres calificaciones para obtener el promedio de la materia. Lo que se desea desplegar es el promedio de los grupos, el promedio de cada grupo y el promedio de cada alumno.

float pm,pra,pgg,ptg=0,pttg;
int g=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de grupos"));
int i=1;
while(i<=g){
float pg=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de alumnos"));
int j=1;
while(j<=n){
float pa=0;
int m=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de materias"));
int k=1;
do{
float c1;
do {
c1=Float.parseFloat(JOptionPane.showInputDialog("digite la calificacion numero 1"));
}while(c1<0.0c1>5.1);
float c2;
do{
c2=Float.parseFloat(JOptionPane.showInputDialog("digite la calificacion numero 2"));
}while(c2<0.0c2>5.1);
float c3;
do{
c3=Float.parseFloat(JOptionPane.showInputDialog("digite la calificacion numero 3"));
}while(c3<0.0c3>5.1);
pm=(c1+c2+c3)/3;
pa=pa+pm;
k=k+1;
}while(k<=m);
pra=(float)(pa/m);
JOptionPane.showMessageDialog(null, "el promedio del alumno es:"+String.valueOf(pra));
pg=(float)(pg+pra);
j=j+1;
}
pgg=pg/n;
JOptionPane.showMessageDialog(null, "el promedio del grupo es:"+String.valueOf(pg));
ptg=ptg+pgg;
i=i+1;
}
pttg=ptg/g;
JOptionPane.showMessageDialog(null, "el promedio general de los grupos es:"+String.valueOf(pttg));
}
}


EJERCICIOS EN JAVA 11-15 TALLER N2 ( WHILE)

11-Dados N números hallar la sumatoria de los positivos y decir cuántos fueron negativos.

int sp=0, cn=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros"));
int i=1;
while(i<=n){
int num=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
if(num>0){
sp=(int)(sp+num);

}
else{
cn=(int)(cn+1);
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "Los numeros negativos son"+String.valueOf(cn));
JOptionPane.showMessageDialog(null, "La sumatoria de los numeros positivos son "+String.valueOf(sp));

}
}

12-Suponga que tiene un conjunto de calificaciones de un grupo de 40 alumnos. Realizar un diagrama para calcular la calificación mayor y menor, además debe imprimir el promedio de calificaciones.

int snota=0, nma=0;
float nme=(float)(5.1);
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de alumnos"));
int i=1;
while(i<=n){
float nota=Float.parseFloat(JOptionPane.showInputDialog("Digite la nota"));
if(nota nme=nota;

}
else{

}
if(nota>nma){
nme=nota;

}
else{

}
snota=(int)(snota+nota);

i=i+1;
}
float pc=(float)(snota/40);
JOptionPane.showMessageDialog(null, "El promedio de las calificaciones es "+String.valueOf(pc));
JOptionPane.showMessageDialog(null, "La nota mayor es "+String.valueOf(nma));
JOptionPane.showMessageDialog(null, "La nota menor es "+String.valueOf(nme));
}
}

13-Calcular e imprimir la tabla de multiplicar de un numero cualquiera, imprimir el multiplicando, multiplicador y producto. El límite de la multiplicación es dado por el usuario.

int p=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros "));
int num=Integer.parseInt(JOptionPane.showInputDialog("Digite numero "));
int i=1;
while(i<=n){
p=(int)(num*i);
JOptionPane.showMessageDialog(null, " El numero multiplicando es " +String.valueOf(num + String.valueOf( " El numero multiplicador es " +String.valueOf(i +String.valueOf(" El producto es "+String.valueOf(p))))));

i=i+1;
}
}
}

14-Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un día desde las 0:00:00 horas hasta las 23:59:59 horas.

int h=0;
while(h<23){
int m=0;
while(m<59){
int s=0;
while(s<59){
JOptionPane.showMessageDialog(null,"La hora es"+String.valueOf(h));
JOptionPane.showMessageDialog(null,"Los minutos son"+String.valueOf(m));
JOptionPane.showMessageDialog(null,"Los segundos son"+String.valueOf(s));
s=s+1;
}
m=m+1;
}
h=h+1;
}
}
}

15-Una persona debe realizar un muestreo de 50 personas para determinar el promedio de peso de los niños, jóvenes, adultos y viejos que existen en una zona habitacional. Se determinan las categorías con base en la siguiente tabla:
CATEGORIA EDAD
Niños 0-12
Jóvenes 13-29
Adultos 30-59
Viejos 60 en adelante.


int pv=0,spv=0,pa=0,spa=0,pj=0,spj=0,pn=0,spn=0, p=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de personas "));
int i=1;
while(i<=n){
int edad=Integer.parseInt(JOptionPane.showInputDialog("Digite la edad"));
int peso =Integer.parseInt(JOptionPane.showInputDialog("Digite el peso"));
if (edad>12){
if (edad>29){
if(edad>59){
pv=pv+1;
spv=spv+pv;
}
else{
pa=pa+1;
spa=spa+p;

}
}
else{
pj=pj+1;
spj=spj+p;

}

}
else{
pn=pn+1;
spn=spn+p;
}
JOptionPane.showMessageDialog(null, "El peso de los niños es "+String.valueOf(pn));
JOptionPane.showMessageDialog(null, "El peso de los jovenes es "+String.valueOf(pj));
JOptionPane.showMessageDialog(null, "El peso de los adultos es "+String.valueOf(pa));
JOptionPane.showMessageDialog(null, "El peso de los viejos es "+String.valueOf(pv));
i=i+1;
}
}
}

EJERCICIOS EN JAVA 06-10 TALLER N2 ( WHILE)

6-Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que están se pagan al doble de una hora normal, cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que pagan las horas normales y el resto al triple.

int he=0,het = 0,tp=0 , t;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de trabajadores"));
int i=1;
while(i<=n){
int vh=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor de la hora"));
int h=Integer.parseInt(JOptionPane.showInputDialog("Digite la hora"));
if(h>40){
he=(h-40);
if(he>8){
het=(int)(he-8);
tp=(int)((8*(2*vh)+(vh*3)*het));
}
else{
tp=(int)((2*vh)*he);
}
}
else{
he=0;
}

i=i+1;
}
JOptionPane.showMessageDialog(null, "Las horas trabajadas es" +String.valueOf(tp))
}
}


7- El dueño de una empresa desea planificar las decisiones financieras que tomara en el siguiente año. La manera de planificarlas depende de lo siguiente:
Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo bancario para que su nuevo saldo sea de $10.000.000. Si su capital tiene actualmente un saldo positivo pedirá un préstamo bancario para tener un nuevo saldo de $20.000.000, pero si su capital tiene actualmente un saldo superior a los $20.000.000 no pedirá ningún préstamo. Posteriormente repartirá su presupuesto de la siguiente manera:
$5.000.000 para equipo de cómputo
$2.000.000 para mobiliario
Y el resto la mitad será para la compra de insumos y la otra para otorgar incentivos al personal. Desplegar las cantidades que se destinaran para la compra de insumos e incentivos al personal, y en cada de que fuera necesario, a cuánto ascendería la cantidad que se pediría al banco.

int p=0,nc=0,c=0,ec=0,m=0,pr=0,in=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de personas "));
int i=1;
while(i<=n){
int capital=Integer.parseInt(JOptionPane.showInputDialog("Digite el capital"));
if(capital<0){
p=10000000-(capital);
nc=10000000;

}
else{
if(capital<20000000){
p=20000000-capital;
nc=20000000;
}
else {
p=0;
nc=capital;
}
}
JOptionPane.showMessageDialog(null, "El prestamo es "+ String.valueOf(nc));
ec=50000000;
m=20000000;
pr=nc-(ec+m);
i=pr/2;
in=pr/2;
JOptionPane.showMessageDialog(null, "La cantidad de insumos es "+String.valueOf(i));
JOptionPane.showMessageDialog(null, "La cantidad de incentivos personales es "+String.valueOf(in));
i=i+1;
}
}
}

8-Una institución educativa estableció un programa para estimular a los alumnos con buen rendimiento académico y que consiste en lo siguiente:
· Si el promedio es de 4.5 o más y el alumno es de preparatoria, entonces este podrá cursas 55 unidades y se le hará un 25% de descuento.
· Si el promedio es mayor o igual a 4.0 pero menor que 4.5 y el alumno es de preparatoria, entonces este podrá cursas 50 unidades y se le hará un 10% de descuento.
· Si el promedio es mayor que 3.0 y menor que 4.0 y el alumno es de preparatoria, este podrá cursas 50 unidades pero no obtendrá ningún descuento.
· Si el promedio es de 3 o menor, el numero de materias reprobadas es de 0 – 3 y el alumno es de preparatoria, entonces podrá cursas 45 unidades y no tendrá ningún descuento.
· Si el promedio es de 3 o menor, el numero de materias reprobadas es de 4 o más y el alumno es de preparatoria, entonces podrá cursas 40 unidades y no tendrá ningún descuento.
· Si el promedio es mayor o igual a 4.5 y el alumno es de profesional, entonces podrá cursas 55 unidades y se le hará un 20% de descuento.
· Si el promedio es menor de 4.56 y el alumno es profesional, entonces podrá cursar 55 unidades y no tendrá descuento.
Obtener el total que tendrá que pagar un alumno si la colegiatura para alumnos profesional es de $30.000 por cada cinco unidades y para alumnos de preparatoria es de $18.000 para cada cinco unidades.

int n=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de alumnos: "));
int i=1;
while(i<=n){
float pr;
float vp=0;

do{
pr=Float.parseFloat(JOptionPane.showInputDialog("digite su promedio: "));
}while(pr<1.0pr>5.0);
String t=JOptionPane.showInputDialog("digite su area: pre=preparatoria o pro:profesional:");
if(t.equals("pre")){
if(pr>=4.5){
vp=(float) ((55/5)*18000*0.75);
}
else{
if(pr>=4.0){
vp=(float) ((50/5)*18000*0.9);
}
else{
if(pr>=3.0){
vp=(float) ((50/5)*18000);
}
else{
int mr=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de materias reprobadas: "));
if(mr<=3){
vp=(float) ((45/5)*18000);
}
else{
vp=(float) ((40/5)*18000);
}
}
}
}

}
else{
if(pr>=4.5){
vp=(float) ((55/5)*30000*0.8);
}
else{
vp=(float) ((55/5)*30000);
}
}
JOptionPane.showMessageDialog(null, "su total a pagar de colegiatura es: "+String.valueOf(vp));
i=i+1;
}
}
}

9-Calcular el promedio de N alumnos que tiene 7 calificaciones en la materia de algoritmos.

float pr=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de alumnos"));
int i=1;
while(i<=n){
float p=0;
int j=1;
while(j<=7){

float nota=Float.parseFloat(JOptionPane.showInputDialog("Digite la nota"));
p=(float)(p+nota);
j=j+1;
}
pr=(float)(p/7);
JOptionPane.showMessageDialog(null, "El promedio de los alumnos es"+String.valueOf(pr));
i=i+1;
}

}
}

10-Leer 10 números y obtener de cada uno su cubo y su cuarta, mostrar cada resultado y hallar la sumatoria de todos los cubos de los 10 números.

int sc=0,cub, cua;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros "));
int i=1;
while(i<=n){
int num=Integer.parseInt(JOptionPane.showInputDialog("Digite numero"));
cub=(int)(num*num*num);
cua=(int)(num*num*num*num);
sc = sc+cub;
JOptionPane.showMessageDialog(null, "El cubo es: " +cub+" y "+ " La cuarta es: " +cua);
i=i+1;
}
JOptionPane.showMessageDialog(null, " La suma de los cubos es "+String.valueOf(sc));
}
}

EJERCICIOS EN JAVA 01-05 TALLER N2 ( WHILE)

1-Una compañía de seguros está abriendo un departamento de finanzas y estableció un programa para captar clientes, que consiste en lo siguiente. Si el monto por el que se efectúa la fianza es menor que $500.000 la cuota a pagar será por el 10% del monto y si el monto es mayor que $500.000 la cuota a pagar será del 15% del monto. La compañía desea determinar cuál será la cuota que debe pagar cada uno de los clientes, si el interés pactado es del 1.5% sobre el capital inicial.

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de clientes"));
float cp=0, in, tp=0;
int i=1;
while(i<=n){
int monto=Integer.parseInt(JOptionPane.showInputDialog("Digite el monto"));
if(monto>=500000){
cp=(float)(monto*0.1);
}
else{
in=(float)(monto*0.15);
}
in=(float)( monto*0.015);
tp=cp+in;
JOptionPane.showMessageDialog(null, "El total a pagar es "+String.valueOf(tp));
i=i+1;
}
}
}


2- En una escuela la colegiatura de los alumnos se determina según el número de materias que cursa. El costo de todas las materias es el mismo. Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo siguiente: si el promedio obtenido por el alumno es mayor o igual que 4.0 se le hará un descuento del 30% sobre la colegiatura y no se le cobrara IVA, si el promedio obtenido es menor que 4.0 deberá pagar la colegiatura completa, la cual incluye el 16% de IVA. Obtener cuando debe pagar cada alumno y total recaudado por colegiatura de los N alumnos.

int sc=0,col;
float pc=0;
float vm=Float.parseFloat(JOptionPane.showInputDialog("Digite el valor de la materia"));
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de alumnos"));
int i=0;
while(i
int cm=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de materias"));
float prom=Float.parseFloat(JOptionPane.showInputDialog("Digite el promedio de la materia"));
col=(int)(cm*vm);
if (prom >=4.0){
pc=(float)(col*0.7);
}
else {
pc=(float)(col*1.16);

}
sc=(int)(sc+pc);
JOptionPane.showMessageDialog(null, "El pago de la colegiatura es "+ String.valueOf(pc));
i=i+1;
}
}
}


3-Una empresa de bienes raíces ofrece casa de interés social, bajo las siguientes condiciones: Si los ingresos del comprador son mayores de $800.000, el subsidio será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en diez años. Si los ingresos del comprador son menores de $800.000 el subsidio será del 30% sobre del costo de la casa y el resto se distribuirá en pagos mensuales a 7 años. La empresa quiere obtener cuanto recibe cada comprador por subsidio y cuando debe pagar de cuota mensual sobre el tiempo estipulado.

float cm=0;
long sd=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de personas"));
int i=1;
while(i<=n){
int ing=Integer.parseInt(JOptionPane.showInputDialog("Digite el ingreso"));
String ccasa=JOptionPane.showInputDialog("Digite el comprador de la casa");
int cas=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor de la casa"));
if(ing>=800000){
sd=(long)(cas*0.15);
float vtc=(float)(cas-sd);
cm=(float)(vtc/120);

}
else{
sd=(long)(cas*0.3);
float vtc=(float)(cas-sd);
cm=(float)(vtc/84);
}
JOptionPane.showMessageDialog(null, "señor(ar) " + ccasa + " las cuotas mensuales es: "+ String.valueOf(cm));
JOptionPane.showMessageDialog(null, "señor(ar) " + ccasa + " el subsidio es: "+ String.valueOf(sd));
i=i+1;
}
}
}


4-El gobierno ha establecido el programa SAR (Sistema de Ahorro para el retiro) que consiste en que los dueños de la empresa deben obligatoriamente depositar en una cuenta bancaria un porcentaje del salario de los trabajadores; adicionalmente los trabajadores pueden solicitar a la empresa que deposite directamente una cuota fija o un porcentaje de su salario en la cuenta del SAR, la cual le será descontada de su pago. N trabajadores que han decidido aportar a su cuenta del SAR desean saber la cantidad total de dinero que estarán depositando a esa cuenta cada mes, y el pago mensual que recibirán.

float cf, sm=0, aho=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Diigte la cantidad de trabajadores"));
int i=1;
while(i<=n){
int sal=Integer.parseInt(JOptionPane.showInputDialog("Digite el salario"));
String op;
do{
op=JOptionPane.showInputDialog("Digite cf=cuota fija y p= porcentaje");
}while(!op.equals("cf")&&!op.equals("p"));
if(op.equals("cf")){
float a=Integer.parseInt(JOptionPane.showInputDialog("Digite el ahorro"));
sm=sal-a;
}
else{
float p=Float.parseFloat(JOptionPane.showInputDialog("Digite el porcentaje"));
aho=(float)(sal*p);
sm=sal-aho;
}
JOptionPane.showMessageDialog(null, "El salario mensual es "+String.valueOf(sm));
JOptionPane.showMessageDialog(null, "El ahorro es "+String.valueOf(aho));
i=i+1;
}
}
}


5-El gobierno de un país desea reforestar un bosque que mide determinado número de hectáreas. Si la superficie del terreno excede a 1 millón de m2, entonces decidirá sembrar de la siguiente manera.

Porcentaje de la superficie del bosque Tipo de Árbol
70% Pino
20% Oyamel
10% Cedro
Si la superficie del terreno es menor o igual a 1 millón de m2 entonces decidirá sembrar de la siguiente manera:
Porcentaje de la superficie del bosque Tipo de Árbol
50% Pino
30% Oyamel
20% Cedro
El gobierno desea saber el número de pinos, oyameles y cedras que tendrá que sembrar en el bosque, si se sabe que en 10 m2 caben 8 pinos, en 15 m2 caben 15 oyameles y en 18 m2 caben 10 cedros. También se sabe que una hectárea equivale a 10 mil m2.

float psp, pso,psc;
int tp=0,to=0,tc=0,cp = 0,co = 0,cc = 0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de personas"));
int i=1;
while(i<=n){

int sup=Integer.parseInt(JOptionPane.showInputDialog("Digite la superficie del area de m2"));
if(sup>1000000){
psp=(float )(sup*0.7);
pso=(float)(sup*0.2);
psc=(float)(sup*0.1);

}
else{
psp=(float)(sup*0.5);
pso=(float)(sup*0.3);
psc=(float)(sup*0.2);

}
cp=(int)(psp*8)/10;
co=(int)(pso*15)/15;
cc=(int)(psc*18)/18;
JOptionPane.showMessageDialog(null, "La cantidad de pinos es"+String.valueOf(cp));
JOptionPane.showMessageDialog(null, "La cantidad de oyameles es "+String.valueOf(co));
JOptionPane.showMessageDialog(null, "La cantidad de cedro es" +String.valueOf(cc));
i=i+1;
}
}
}


EJERCICIOS EN JAVA 16-20 TALLER N1 ( WHILE)

16-En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $100.000 pesos, ¿Cuál será la cantidad que paga N personas por su compra? Y cuál es el monto que el almacén hizo en descuentos.

int sd=0,vp=0, sp=0;
float d=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de personas "));
int i=1;
while(i<=n){ int compra=Integer.parseInt(JOptionPane.showInputDialog("Digite su compra")); if (compra>100000){
d=(float)(compra*0.2);
vp=(int)(compra-d);
sp=(int)(sd+d);
}
else{
vp=compra;
}
JOptionPane.showMessageDialog(null, "El valor del pago es "+String.valueOf(vp));
i=i+1;
}
JOptionPane.showMessageDialog(null, "El sueldo a pagar es "+String.valueOf(sp));
}
}


17-N obreros necesitan calcular su salario semanal, el cual se obtiene de la siguiente manera:
Si trabaja 40 horas o menos se le paga $16.000 por hora
Si trabaja más de 40 horas se le pagara $16.000 por cada una de las primeras 40 horas y $20.000 pesos por cada hora extra. Además se debe Hallar el Salario mensual (4 semanas) por cada empleado y El total pagado en nomina en un mes por la empresa.

int sm=0, no=0, tp=0, he=0, ve=0, vn=0;
int n =Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de obreros"));
int i=1;
while(i<=n){ int horas=Integer.parseInt(JOptionPane.showInputDialog("Digite las horas"));

if(horas <=40){
tp=horas*16000;
} else{ he=horas-40;
ve=he*20000;
vn=40*16000;
tp=vn+ve;
}
JOptionPane.showMessageDialog(null, "El total a pagar es "+String.valueOf(tp));
sm=sm+tp;
JOptionPane.showMessageDialog(null, "El salario mensual es"+String.valueOf(sm));
no=no+sm;
i=i+1;
}
JOptionPane.showMessageDialog(null, "La nomina en un mes es"+ String.valueOf(no));
}
}

18-Realice un diagrama que lea dos números y los imprima en forma ascendente.

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros"));
int i=1;
while(i<=n){
int n1=Integer.parseInt(JOptionPane.showInputDialog("Digite numero 1"));
int n2=Integer.parseInt(JOptionPane.showInputDialog("Digite numero 2"));
if (n1>n2){
int n2n1;
JOptionPane.showMessageDialog(null, "El numero en forma accedente es " + String.valueOf(n1) + " y " +String.valueOf(n2));
}
else{
int n1n2;
JOptionPane.showMessageDialog(null, "El numero en forma descendente es " + String.valueOf(n2)+ " y " + String.valueOf(n1));
}
i=i+1;
}
}
}


19-Hacer un diagrama que imprima el nombre de 10 artículos, clave, precio original y su precio con descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es del 10% y si la clave es 02 el descuento es del 20% (solo existen dos claves).

float pd;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de articulos"));
int i=1;
while(i<=n){

String nomart=JOptionPane.showInputDialog("Digite el nombre del articulo");
int po=Integer.parseInt(JOptionPane.showInputDialog("Digite el precio del articulo"));
int clave=Integer.parseInt(JOptionPane.showInputDialog("Digite la clave del articulo, 01 si son articulos y 02 si son perecederos"));
do {
}while (clave !=1&&clave !=2);
if (clave ==0.1){
pd=(float) (po*0.9);
} else { pd=(float)(po*0.8);
}
JOptionPane.showMessageDialog(null, "La clave es"+String.valueOf(clave)); JOptionPane.showMessageDialog(null, "El nombre del articulo es"+String.valueOf(nomart));
JOptionPane.showMessageDialog(null, "El precio con descuento es"+String.valueOf(pd));
JOptionPane.showMessageDialog(null, "El precio original es"+String.valueOf(po));
i=i+1;
}
}
}

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

float tp=0;
n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad"));
int i=1;
while(i<=n){
int cc=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de camisas"));
int vc=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor de la camisa"));
if (cc>=3){
tp=(float)((vc*cc)*0.8);
}
else {
tp=(float)((vc*cc)*0.9);

}
JOptionPane.showMessageDialog(null, "El total a pagar es "+String.valueOf(tp));
i=i+1;
}
}
}


;;