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;
}
}
}

;;