Академический Документы
Профессиональный Документы
Культура Документы
GUA PRCTICA N 12
Objetivo: Permitir desarrollar la lgica del alumno, mediante la resolucin de problemas
aplicando arreglos con la programacin modular.
1. Guardar N y M nmeros en dos vectores tal como A y B, luego mostrar A B en
un nuevo vector C.
package semana121;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana121 {
public static void main(String[] args) {
int tamaoa, tamaob, tamaoc;
int A[], B[], C[];
int valoresa, valoresb, valoresc;
tamaoa=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tamao para el
vector A: "));
tamaob=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tamao para el
vector B: "));
tamaoc=tamaoa+tamaob;
A=new int[tamaoa];
B=new int[tamaob];
C=new int[tamaoc];
for(valoresa=0;valoresa<tamaoa;valoresa++){
A[valoresa]=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese valores para el
vector A: "));
C[valoresa]=A[valoresa];
}
for(valoresb=0;valoresb<tamaob;valoresb++){
B[valoresb]=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese valores para el
vector B: "));
C[valoresb+tamaoa]=B[valoresb];
}
for(valoresc=0;valoresc<tamaoc;valoresc++){
JOptionPane.showMessageDialog(null,"Los valores del vector C son: "+C[valoresc]);
}
LABORATORIO N 12
}
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
}
}
LABORATORIO N 12
t
in
i,menor, posicion = 0;
menor=V[0];
for(i=0;i<V.length;i++){
if(V[i]<=menor){
menor=V[i];
posicion=i;
}
}
JOptionPane.showMessageDialog(null,"El valor menor se encuentra en la posicion: "
+posicion);
}
}
4. Guardar n nmeros enteros a un vector, calcular el promedio y reemplazar todos
los nmeros que ocupan las posiciones pares, por el promedio calculado.
package semana124;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana124 {
public static void main(String[] args) {
int t;
int Z[];
int promedio;
t=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tamao del vector llamado
Z: "));
Z=new int[t];
IngresarvaloresZ(Z);
promedio=calcular(Z);
reemplazarvalor(Z,promedio);
mostrar(Z);
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
}
pr
}
private static void mostrar(int[] Z) {
int i;
for(i=0;i<Z.length;i++){
JOptionPane.showMessageDialog(null,"El valor de la posicion A["+i+"] :"+Z[i]);
}
}}
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
5. Guardar N y M nmeros enteros a dos vectores tal como A y B, luego trasladar los
nmeros impares del vector A al final del vector B.
package semana126;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana126 {
public static void main(String[] args) {
int canting, I[],totalpagar;
canting=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese cantidad de
ingenieros"));
I=new int[canting];
Ingresarvalores(I);
totalpagar=calcular(I);
imprimir(totalpagar);
}
private static void Ingresarvalores(int[] I) {
int i,ingeniero=0;
for(i=0;i<I.length;i++){
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
ingeniero++;
I[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese cuantos
proyectos realizo el ingeniero # :"+ingeniero));
}
}
private static int calcular(int[] I) {
int
i,exp,ingeniero=0,bloquea=0,bloqueb=0,bloquec=0,resultadoa,resultadob,resultadoc,total
pagar;
for(i=0;i<I.length;i++){
ingeniero++;
exp=Integer.parseInt(JOptionPane.showInputDialog(null,"Cuanta experiecia tiene
el ingeniero "+ingeniero));
if(exp<=6){
bloquea=bloquea+I[i];
}
else if(exp>=7 && exp<=11){
bloqueb=bloqueb+I[i];
}
else if(exp>=12){
bloquec=bloquec+I[i];
}
}
resultadoa=bloquea*125;
resultadob=bloqueb*155;
resultadoc=bloquec*195;
totalpagar=resultadoa+resultadob+resultadoc;
return totalpagar;
}
private static void imprimir(int totalpagar) {
JOptionPane.showMessageDialog(null,"el total pagar a todos los ingeniero es:
"+totalpagar);
}
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
}
private static void nuevosueldo(double[] S) {
int i;
double aumento,nsueldo;
for(i=0;i<S.length;i++){
if(S[i]>2500){
aumento=S[i]*0.08;
nsueldo=S[i]+aumento;
S[i]=nsueldo;
}else{
aumento=S[i]*0.1;
nsueldo=S[i]+aumento;
S[i]=nsueldo;
}
}
}
private static void mostrar(double[] S, String[] N) {
int i;
for(i=0;i<N.length;i++){
JOptionPane.showMessageDialog(null,"El nuevo sueldo de "+N[i]+" es de:
"+S[i]);
}
}
}
8. Ingresar N nmeros a un vector A y un nmero X. Luego determinar los nmeros
del vector ms cercanos al nmero X y reemplazarlo por l.
Por ejemplo:
A =
10
11
A =
10
11
X=7
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
package semana128;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana128 {
public static void main(String[] args) {
int A[];
int N,X;
N=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el tamao del vector A :
"));
A=new int [N];
IngresarNumeros(A);
X=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero : "));
Reemplazar(A,X);
}
private static void IngresarNumeros(int[] A) {
int i;
for(i=0;i<A.length;i++){
A[i]=Integer.parseInt(JOptionPane.showInputDialog("Ingrese elementos para la
posicion A["+i+"] :"));
}
}
private static void Reemplazar(int[] A, int X) {
int i;
for(i=0;i<A.length;i++){
if(A[i]-1==X || A[i]+1==X){
A[i]=X;
}
JOptionPane.showMessageDialog(null,"Vector "+A[i]);
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
}
}
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
O
io Docente: Mg. Ing. Christian Ordoez Prez
Pane.showMessageDialog(null,"Los elementos del arreglo A["+i+"] son :"+A[i]);
}
}
J
pt
n
}
10. Leer 20 nmeros enteros positivos, indicar cul es el mayor y en qu orden
fue ledo (a que elemento pertenece). Mostrar el vector completo.
package semana1210;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana1210 {
public static void main(String[] args) {
int A[];
A=new int[20];
IngresarNumeros(A);
ImprimirNumeros(A);
MostrarMayor(A);
}
private static void IngresarNumeros(int[] A) {
int i;
for(i=0;i<20;i++){
A[i]=Integer.parseInt(JOptionPane.showInputDialog("Ingrese elementos para la posicion
A["+i+"] :"));
}
}
private static void ImprimirNumeros(int[] A) {
int i;
for(i=0;i<20;i++){
JOptionPane.showMessageDialog(null,"Los elementos del arreglo A["+i+"] son :"+A[i]);
}
}
private static void MostrarMayor(int[] A) {
int i,may=0,pos=0;
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
r(i
0; Docente: Mg. Ing. Christian Ordoez Prez
20;i++){
fo
=
i<
if(A[i]>may){
may=A[i];
pos=i;
}
}
JOptionPane.showMessageDialog(null,"El numero mayor del arreglo es " + may + " y esta
en la posicion A[ "+pos+" ]");
}
}
11. Sumar nmeros en un vector de 10 elementos enteros hasta que el usuario lo
desee. Cuando finalicen las sumas visualizar por pantalla lo siguiente:
Elemento 0
cantidad total
.....
.......
Elemento 9
cantidad total
package semana1211;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana1211 {
public static void main(String[] args) {
int A[];
A=new int[10];
agregarvalores(A);
mostrarvalores(A);
}
private static void agregarvalores(int[] A) {
int i;
int n,total;
char op;
for(i=0;i<A.length;i++){
int suma=0;
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
do{
n=Integer.parseInt(JOptionPane.showInputDialog(null,"INGRESE NUMERO A
SUMAR EN LA POSICION "+i));
suma=suma+n;
total=suma;
op=JOptionPane.showInputDialog(null,"desea agregar mas numero a sumar? si=s O
no=cualquier otra letra: ").charAt(0);
}while(op=='s');
A[i]=total;
}
}
private static void mostrarvalores(int[] A) {
int i;
for(i=0;i<A.length;i++){
JOptionPane.showMessageDialog(null,"elemento "+i+" la suma de los numero tiene
la cantidad todal: "+A[i]);
}
}
}
12. Una persona desea saber en qu da del mes realiz ms gastos en compras,
para ello ingresa por teclado da a da lo que gast por da, cargando un vector
definido en memoria. Puede haber varias o ninguna compra para un determinado
da. Informar cual fue el da de mayor gasto.
package semana1212;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana1212 {
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
dia=i+1;
}
}
JOptionPane.showMessageDialog(null,"EL dia que mas gasto es "+dia+" que gasto un
total de: "+mayor);
}
}
13. Leer dos vectores A y B de dimensin 10. Generar un tercer vector C de 10
elementos donde la componente C[ i ] sea igual al mnimo valor de A[ i ] y B[ i ].
Mostrar los tres vectores
14. Leer 20 nmeros enteros positivos. Mostrar el vector tal como fue ingresado y
luego mostrar el vector ordenado en forma decreciente.
package semana1214;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana1214 {
public static void main(String[] args) {
int V[];
V=new int[20];
Ingresarvalores(V);
creciente(V);
dreciente(V);
}
private static void Ingresarvalores(int[] V) {
int i;
for(i=0;i<V.length;i++){
V[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese valores para la
posicion "+i+" :"));
}
}
private static void creciente(int[] V) {
int i;
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
for(i=0;i<V.length;i++){
JOptionPane.showMessageDialog(null,"Los valores del arreglo de forma creciente en la
posicion "+i+" es : V[ "+V[i]+" ]");
}
}
private static void dreciente(int[] V) {
int i;
for(i=19
;i>=0;i--){
JOptionPane.showMessageDialog(null,"Los valores del arreglo de forma creciente en la
posicion "+i+" es : V[ "+V[i]+" ]");
}
}
}
15. De los 100 empleados de una fbrica se registra: nmero de legajo (coincide
con el nmero de ndice), edad y salario. Se pide:
Ingresar los datos correlativamente
Calcular la edad promedio informando nmero de legajo de los empleados cuya
edad supere el promedio
package semana1215;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana1215 {
public static void main(String[] args) {
int E[];
double S[];
E=new int[100];
S=new double[100];
IngresarEdadySueldo(E,S);
Calcular(E,S);
}
private static void IngresarEdadySueldo(int[] E, double[] S) {
int i,empleado=0;
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
for(i=0;i<E.length;i++){
empleado=empleado+1;
E[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese edad para el empleado
#"+empleado+" : "));
S[i]=Double.parseDouble(JOptionPane.showInputDialog(null,"Ingrese SUELDO para el
empleado #"+empleado+" : "));
}
}
private static void Calcular(int[] E, double[] S) {
double suma=0,promedio;
int i;
for(i=0;i<100;i++){
suma=suma+E[i];
}
promedio=suma/100;
JOptionPane.showMessageDialog(null,"El promedio de edad es: "+promedio);
for(i=0; i<10; i++){
if(E[i]>promedio){
JOptionPane.showMessageDialog(null,"Los legajos que superan el promedio son "+i+"
con edad de "+E[i]);
}
}
}
}
16. Mismo enunciado al ejercicio anterior. Se pide:
Ingresar los datos en forma aleatoria. (se pide ingreso de nmero de legajo de 1 a
100, se posiciona en el elemento correspondiente y se ingresa edad y salario)
Calcular salario promedio informando nmero de legajo de aquellos cuyo salario
supere el promedio
package semana1216;
import javax.swing.JOptionPane;
/**
*
* @author christian
*/
public class Semana1216 {
LABORATORIO N 12
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: I Maana, Tarde y Noche
LABORATORIO N 12
}