Anda di halaman 1dari 27

UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE

INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II


FUNDAMENTOS DE PROGRAMACIN 2

EJEMPLOS DE PROBLEMAS CON ARREGLOS


1.-Leer nombre y edad de N alumnos y reportar:
a.-Todos los datos
b.-Datos de los mayores de edad. Indicar cuantos son.
c.-Datos de los menores de edad. Indicar la suma de sus edades.
d.-La edad menor.
e.-Los datos de los alumnos con edad igual a la edad menor. Indicar cuantos son.

Inicio

Variables nom[100 ], ed[100 ], N, cm=0, sed=0, men, i, c

Leer N

N 0 V N> 100
i = 0 ; i < N; i = i+1

Leer nom[ i ]

Leer ed[ i ]

ed[i] 0

i = 0 ; i < N; i = i+1

Escribir: nom[i] , ed[i]

i = 0 ; i < N; i = i+1

V ed[i] 18 F

Escribir: nom[i], ed[i]

cm = cm +1

Escribir: cm

1
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

i = 0 ; i < N; i = i+1

V ed[i] < 18 F

Escribir: nom[i], ed[i]

sed = sed +ed[i]

Escribir : sed
men = ed[0]

i = 0 ; i < N; i = i+1

V ed[i] < men F

men = ed[i]

Escribir: men

i = 0 ; i < N; i = i+1

V ed[i] = men F

Escribir: nom[i], ed[i]

c=c+1

Escribir: c
Fin

2
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

Cdigo en java

import java.io.*;
public class prob1
{ static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String [ ] args) throws IOException
{ String nom[] = new String[100]; // nom es un arreglo de cadenas de caracteres
int ed[ ] = new int [100]; // ed es un arreglo de nmeros enteros
int N, cm=0, sed=0, men, i,c=0;

/*********** Ingreso de N *************/


do{System.out.print("Ingrese No. de datos:");
N=Integer.parseInt(br.readLine());
}
while(N<=0 || N>100) ;

/*********** Ingreso de datos *************/


System.out.println("Ingreso de datos:");
for(i=0; i<N; i++)
{System.out.println("Ingrese nombre[" + i+ " ] : ");
nom[i]= br.readLine(); // asi se lee un dato de tipo cadena de caracteres o String
nom[i]=nom[i].toUpperCase();
do{System.out.println("Ingrese edad[" + i+ " ] : ");
ed[i]= Integer.parseInt(br.readLine());
}
while(ed[i]<=0) ;
}

/***********Reporte de todos los datos *************/


System.out.println("Reporte de todos los datos:");
for(i=0; i<N; i++)
{System.out.println("\n"+nom[i]+"\t"+ed[i]);
}

/***********Reporte de los datos de los mayores de edad *************/


System.out.println("Reporte de los datos de los mayores de edad");
for(i=0; i<N; i++)
{ if(ed[i]>=18)
{ System.out.println("\n"+nom[i]+"\t"+ed[i]);
cm++;
}
}
System.out.println("\nCantidad de mayores de edad"+cm);

3
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

/***********Reporte de los datos de los menores de edad *************/


System.out.println("Reporte de los datos de los menores de edad");
for(i=0; i<N; i++)
{ if(ed[i]<18)
{ System.out.println("\n"+nom[i]+"\t"+ed[i]);
sed=sed+ ed[i];
}
}
System.out.println("\nSuma de edades menores :"+sed);

/***********Reporte de la edad menor*************/


System.out.println("Reporte de la edad menor");
men=ed[0];
for(i=0; i<N; i++)
{ if(ed[i]<men)
{ men=ed[i];
}
}
System.out.println("\nLa edad menor es:"+men);

/***********Reporte de alumnos con edad = edad menor*************/


System.out.println("Reporte de datos de alumnos con edad igual a edad menor");
for(i=0; i<N; i++)
{ if(ed[i]==men)
{ System.out.println("\n"+nom[i]+"\t"+ed[i]);
c++;
}
}
System.out.println("\nCantidad de alumnos con edad menor es:"+c);

}
}

4
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

2.-Leer nombre y nota de N alumnos y reportar:


a.-Todos los datos
b.-Los datos de los alumnos aprobados. Indicar cuantos son.
c.-Los datos de los alumnos desaprobados. Indicar la suma de sus edades.
d.-La nota promedio.
e.-Los datos de los alumnos con nota menor o igual a la nota promedio.
f.-La nota mayor.
g.-Los datos de los alumnos con nota igual a la nota mayor. Indicar cuantos son.

Inicio

Variables nom[100], not [100], N, pro, may, cap=0, sndes=0,sum=0, cmay=0, i


Leer N

N 0 V N> 100

i = 0 ; i < N; i = i+1

Leer nom[ i ]

Leer not[ i ]

not[i] < 0 V not[i] > 20

i = 0 ; i < N; i = i+1

Escribir: nom[i] , not[i]

i = 0 ; i < N; i = i+1

V not[i] 11 F

Escribir: nom[i], not[i]

cap = cap +1

Escribir: cap

5
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

i = 0 ; i < N; i = i+1

V not[i] < 11 F

Escribir: nom[i], not[i]

sndes = sndes + not[i]

Escribir : sndes
i = 0 ; i < N; i = i+1

sum = sum + not[i]

pro = sum / N

Escribir : pro

i = 0 ; i < N; i = i+1

V not[i] pro F

Escribir: nom[i], not[i]

may = not[0]

i = 0 ; i < N; i = i+1

V not [i] > may F

may = not[i]

Escribir: may

6
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

i = 0 ; i < N; i = i+1

V not[i] = may F

Escribir: nom[i], ed[i]

cmay = cmay + 1

Escribir: cmay
Fin

Cdigo en java

import java.io.*;
public class prob2
{ static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String [ ] args) throws IOException
{ String nom[] = new String[100]; // nom es un arreglo de cadenas de caracteres
int not[ ] = new int [100]; // not es un arreglo de nmeros enteros
int N, cap=0, sndes=0, sum=0, i, may, cmay=0;
double pro;
/*********** Ingreso de N *************/
do{System.out.print("Ingrese No. de datos:");
N=Integer.parseInt(br.readLine());
}
while(N<=0 || N>100) ;

/*********** Ingreso de datos *************/


System.out.println("Ingreso de datos:");
for(i=0; i<N; i++)
{System.out.println("Ingrese nombre[" + i+ " ] : ");
nom[i]= br.readLine(); // asi se lee un dato de tipo cadena de caracteres o String
nom[i]=nom[i].toUpperCase();
do{System.out.println("Ingrese nota[" + i+ " ] : ");
not[i]= Integer.parseInt(br.readLine());
}
while(not[i]<0 || not[i]>20) ;
}

7
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

/***********Reporte de todos los datos *************/


System.out.println("Reporte de todos los datos:");
for(i=0; i<N; i++)
{System.out.println("\n"+nom[i]+"\t"+not[i]);
}

/***********Reporte de los datos de los aprobados *************/


System.out.println("Reporte de los datos de los aprobados");
for(i=0; i<N; i++)
{ if(not[i]>=11)
{ System.out.println("\n"+nom[i]+"\t"+not[i]);
cap++;
}
}
System.out.println("\nCantidad de aprobados ="+cap);

/***********Reporte de los datos de los desaprobados *************/


System.out.println("Reporte de los datos de los desaprobados");
for(i=0; i<N; i++)
{ if(not[i]<11)
{ System.out.println("\n"+nom[i]+"\t"+not[i]);
sndes=sndes + not[i];
}
}
System.out.println("\nSuma de notas de desaprobados es ="+sndes);

/***********Reporte de la nota promedio*************/


System.out.println("Reporte de la nota promedio");
for(i=0; i<N; i++)
{ sum = sum + not [i];
}
pro = sum *(1.0)/N;
System.out.println("\nLa nota promedio es:"+ pro);

/***********Reporte de alumnos con nota menor o igual al promedio*************/


System.out.println("Reporte de datos de alumnos con nota menor o igual al promedio");
for(i=0; i<N; i++)
{ if(not[i]<=pro)
{ System.out.println("\n"+nom[i]+"\t"+not[i]);
}
}

8
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

/***********Reporte de la nota mayor*************/


System.out.println("Reporte de la nota mayor");
may=not[0];
for(i=0; i<N; i++)
{ if(not[i]>may)
{ may=not[i];
}
}
System.out.println("\nLa nota mayor es : "+may);

/******Reporte de datos de los alumnos con nota igual a la nota mayor *********/
System.out.println("Reporte de datos de los alumnos con nota igual a la nota mayor ");
for(i=0; i<N; i++)
{ if(not[i]==may)
{ System.out.println(nom[i]+"\t"+not[i]);
cmay ++;
}
}
System.out.println("\nTotal de alumnos con nota igual a:"+ may + es = +cmay);

}
}

9
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

3.-Leer nombre, nota y sexo de N alumnos y reportar:


a.-Los datos de los alumnos hombres. Indicar cuantos son.
b.-Los datos de las alumnas mujeres. Indicar la suma de sus notas.
c.-Los datos de todos los alumnos aprobados.
d.-Los datos de las alumnas mujeres desaprobadas. Indicar cuantas son.
e.-Los datos de los alumnos hombres aprobados. Indicar la suma de sus notas.
f.-La nota promedio
g.-Los datos de los alumnos con nota mayor o igual al promedio.
h.-Los datos de los alumnos hombres desaprobados y su nota promedio.

Inicio

Variables nom[100], not[100], sex[100], N, ch=0, snm=0, sum=0, pro, cmd=0, snha=0
snhd=0, chd=0, prhd, i

Leer N

N 0 V N > 100

i = 0 ; i < N; i = i+1

Leer nom[ i ]

Leer not[ i ]

not[i] < 0 V not[i] > 20

Leer sex [i]

sex [i] M sex[i] F

i = 0 ; i < N; i = i+1

V sex[i] = M F

Escribir: nom[i], not[i], sex[i]

ch = ch +1

Escribir: ch

10
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

i = 0 ; i < N; i = i+1

V sex[i] = F F

Escribir: nom[i], not[i], sex[i]

snm = snm +not[i]

Escribir: snm
i = 0 ; i < N; i = i+1

V not[i] 11 F

Escribir: nom[i], not[i], sex[i]

i = 0 ; i < N; i = i+1

V sex[i] = F not[i] < 11 F

Escribir: nom[i], not[i], sex[i]

cmd = cmd +1

Escribir: cmd
i = 0 ; i < N; i = i+1

V sex[i] = M not[i] 11 F

Escribir: nom[i], not[i], sex[i]

snha = snha + not[i]

Escribir: snha

11
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

i = 0 ; i < N; i = i+1

sum = sum + not[i]

pro = sum / N

Escribir : pro

i = 0 ; i < N; i = i+1

V not[i] pro F

Escribir: nom[i], not[i], sex[i]

i = 0 ; i < N; i = i+1

V sex[i] = M not[i] < 11 F

Escribir: nom[i], not[i], sex[i]

snhd = snhd + not[i]

chd = chd + 1

V chd > 0 F

prhd = snhd / chd Escribir : No hay alumnos hombres

Escribir: prhd desaprobados

Fin

12
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

Cdigo en java
import java.io.*;
public class prob3
{ static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

public static void main(String [ ] args) throws IOException


{ String nom[] = new String[100]; // nom es un arreglo de cadenas de caracteres
int not[ ] = new int [100]; // not es un arreglo de nmeros enteros
char sex[] = new char[100]; // sex es un arreglo de datos de tipo char
int N, ch=0, snm=0, sum=0, pro, cmd=0, snha=0, snhd=0, chd=0, prhd, i;
String cad;
/*********** Ingreso de N *************/
do{ System.out.print("Ingrese No. de datos:");
N=Integer.parseInt(br.readLine());
}
while(N<=0 || N>100) ;
/*********** Ingreso de datos *************/
System.out.println("Ingreso de datos:");
for(i=0; i<N; i++)
{ System.out.println("Ingrese nombre[" + i+ " ] : ");
nom[i]= br.readLine(); // asi se lee un dato de tipo cadena de caracteres o String
nom[i]=nom[i].toUpperCase();

do{System.out.println("Ingrese nota[" + i+ " ] : ");


not[i]= Integer.parseInt(br.readLine());
}
while(not[i]<0 || not[i]>20);

do{System.out.println("Ingrese sexo[" + i+ " ] : ");


cad = br.readLine( );
cad = cad.toUpperCase( );
sex[i]= cad.charAt(0);
}
while(sex [i] != M && sex[i] != F);
}
/***********Reporte de los datos de los alumnos hombres *************/
System.out.println("Reporte de los datos de los alumnos hombres ");
for(i=0; i<N; i++)
{ if(sex[i]==M)
{ System.out.println("\n"+nom[i]+"\t"+not[i]+\t+sex[i]);
ch++;
}
}
System.out.println("\nCantidad de alumnos hombres es ="+ch);

13
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

/***********Reporte de los datos de las alumnas mujeres *************/


System.out.println("Reporte de los datos de las alumnas mujeres ");
for(i=0; i<N; i++)
{ if(sex[i]==F)
{ System.out.println("\n"+nom[i]+"\t"+not[i]+\t+sex[i]);
snm = snm + not[i];
}
}
System.out.println("\nSuma de las notas de las mujeres es ="+snm);

/***********Reporte de los datos de los alumnos aprobados *************/


System.out.println("Reporte de los datos de los alumnos aprobados ");
for(i=0; i<N; i++)
{ if(not[i]>= 11)
{ System.out.println("\n"+nom[i]+"\t"+not[i]+\t+sex[i]);
}
}

/********Reporte de los datos de las alumnas mujeres desaprobadas*********/


System.out.println("Reporte de los datos de las alumnas mujeres desaprobadas");
for(i=0; i<N; i++)
{ if(sex[i] ==F&& not[i] < 11)
{ System.out.println("\n"+nom[i]+"\t"+not[i]+\t+sex[i]);
cmd++;
}
}
System.out.println("\nCantidad de mujeres desaprobadas es ="+cmd);

/***********Reporte de los datos de los alumnos hombres aprobados*****/


System.out.println("Reporte de los datos de los alumnos hombres aprobados ");
for(i=0; i<N; i++)
{ if(sex[i]==M && not[i] >=11)
{ System.out.println("\n"+nom[i]+"\t"+not[i]+\t+sex[i]);
snha= snha + not[i];
}
}
System.out.println("\nSuma de notas de hombres aprobados es ="+snha);

14
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

/***********Reporte de la nota promedio*************/


System.out.println("Reporte de la nota promedio");
for(i=0; i<N; i++)
{ sum = sum + not [i];
}
pro = sum / N;
System.out.println("\nLa nota promedio es:"+ pro);

/********* Reporte de los datos de los alumnos con nota promedio *******/
System.out.println("Reporte de alumnos con nota mayor o igual al promedio ");
for(i=0; i<N; i++)
{ if(not[i]>= pro)
{ System.out.println("\n"+nom[i]+"\t"+not[i]+\t+sex[i]);
}
}

/****** Reporte de alumnos hombres desaprobados y su nota promedio******/


System.out.println("Reporte de alumnos hombres desaprobados y su nota promedio");
for(i=0; i<N; i++)
{ if(sex[i] ==M&& not[i] < 11)
{ System.out.println("\n"+nom[i]+"\t"+not[i]+\t+sex[i]);
snhd = snhd + not[i];
chd = chd + 1 ;
}
}

if( chd > 0)


{ prhd = snhd / chd;
System.out.println("\nPromedio de alumnos hombres desaprobados es ="+prhd);
}
else{ System.out.println("\nNo hay alumnos hombres desaprobados);
}

} // llave de fin de main


} // llave de fin de la clase

15
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

4.-Leer nombre, nota1 y nota2 de N alumnos y reportar:


a.-Todos los datos ingresados.
b.-Los datos de todos los alumnos indicando el respectivo promedio de sus notas.
c.-Los datos de los alumnos con promedio aprobatorio. Indicar cuantos son.
d.-El promedio mayor..
e.-Los datos de los alumnos con promedio igual al promedio mayor. Indicar cuantos son.

Inicio

Variables nom[100], not1[100], not2[100], pro[100], N, cap=0, pmay, npmay ,i

Leer N

N 0 V N > 100

i = 0 ; i < N; i = i+1

Leer nom[ i ]

Leer not1[ i ]

not1[i] < 0 V not1[i] > 20

Leer not2[ i ]

not2[i] < 0 V not2[i] > 20

i = 0 ; i < N; i = i+1

Escribir: nom[i] , not1[i], not2[i]

i = 0 ; i < N; i = i+1

pro[i] = (not1[i] + not2[i] ) / 2

Escribir: nom[i] , not1[i], not2[i], pro[i]

16
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

i = 0 ; i < N; i = i+1

V pro[i] 11 F

Escribir: nom[i], not1[i], not2[i], pro[i]

cap = cap + 1

Escribir : cap
pmay = pro[0]

i = 0 ; i < N; i = i+1

V pro [i] > pmay F

pmay = pro[i]

Escribir: pmay

i = 0 ; i < N; i = i+1

V pro[i] = pmay F

Escribir: nom[i], not1[i], not2[i], pro[i]

npmay = npmay + 1

Escribir : npmay

Fin

17
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

Cdigo en java

import java.io.*;
public class prob4
{ static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

public static void main(String [ ] args) throws IOException


{ String nom[] = new String[100]; // nom es un arreglo de cadenas de caracteres
int not1[ ] = new int [100]; // not1 es un arreglo de nmeros enteros
int not2[ ] = new int [100]; // not2 es un arreglo de nmeros enteros
int pro[ ] = new int [100]; // pro es un arreglo de nmeros enteros

int N, cap=0, pmay, npmay, i ;

/*********** Ingreso de N *************/


do{ System.out.print("Ingrese No. de datos:");
N=Integer.parseInt(br.readLine());
}
while(N<=0 || N>100) ;
/*********** Ingreso de datos *************/
System.out.println("Ingreso de datos:");
for(i=0; i<N; i++)
{ System.out.println("Ingrese nombre[" + i+ " ] : ");
nom[i]= br.readLine(); // asi se lee un dato de tipo cadena de caracteres o String
nom[i]=nom[i].toUpperCase();

do{System.out.println("Ingrese nota1[" + i+ " ] : ");


not1[i]= Integer.parseInt(br.readLine());
}
while(not1[i]<0 || not1[i]>20);

do{System.out.println("Ingrese nota2 [" + i+ " ] : ");


not2[i]= Integer.parseInt(br.readLine());
}
while(not2[i]<0 || not2[i]>20);
}
/***********Reporte de todos los datos *************/
System.out.println("Reporte de todos los datos ingresados");
for(i=0; i<N; i++)
{System.out.println("\n"+nom[i]+"\t"+not1[i]+ \t+ not2[i]);
}

18
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

/******* Reporte de los datos de los alumnos con su respectivo promedio ********/
System.out.println("Reporte de de los datos de los alumnos con su promedio ");
for(i=0; i<N; i++)
{ pro[i] = (not1[i] + not2[i] ) / 2;
System.out.println("\n"+nom[i]+"\t"+not1[i]+ \t+ not2[i]+ \t+ pro[i]);
}

/********* Reporte de los datos de los alumnos con promedio aprobatorio *******/
System.out.println("Reporte de los datos de los alumnos con promedio aprobatorio ");
for(i=0; i<N; i++)
{ if(pro[i]>= 11)
{ System.out.println("\n"+nom[i]+"\t"+not1[i]+\t+not2[i]+ \t + pro[i]);
cap ++;
}
}
System.out.println("No. de alumnos con promedio aprobatorio = " + cap);

/***********Reporte del promedio mayor*************/


System.out.println("Reporte del promedio mayor");
pmay=pro[0];
for(i=0; i<N; i++)
{ if(pro[i] > pmay)
{ pmay= pro[i];
}
}
System.out.println("\nEl promedio mayor es : "+pmay);

/********* Reporte de los alumnos con promedio igual al promedio mayor *******/
System.out.println("Reporte de los alumnos con promedio igual a promedio mayor ");
for(i=0; i<N; i++)
{ if(pro[i]== pmay)
{ System.out.println("\n"+nom[i]+"\t"+not1[i]+\t+not2[i]+ \t + pro[i]);
npmay ++;
}
}
System.out.println("No. de alumnos con promedio mayor es = " +npmay);

} // llave de fin de main


} // llave de fin de la clase

19
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

5.-Leer nombre, edad y sexo de N alumnos y reportar:


a.-Los datos de los alumnos menores de edad. Indicar cuantos son.
b.-Los datos de las alumnas mujeres mayores de edad. Indicar la suma de sus edades.
c.-La edad promedio de alumnos hombres.
d.-La edad promedio de los mayores de edad.
e.-Los datos de los alumnos hombres con edad mayor a la edad promedio total.
f.-Reportar los datos de un alumno con un nombre determinado.
g.-Reportar Los datos de los alumnos con una edad determinada.
h.-reportar Los datos de los alumnos de un determinado sexo.

Inicio

Variables nom[100], ed[100], sex[100], N, nmen=0, sedmu=0, eprh, sedh=0, nh=0,


eprmay, sedmay=0, cmay=0, nomaux, edaux , sexaux, i, c=0, sum=0, prt

Leer N

N 0 V N > 100
i = 0 ; i < N; i = i+1

Leer nom[ i ]

Leer ed[ i ]

ed[i] 0

Leer sex[ i ]

sex[i] M sex[i] F

i = 0 ; i < N; i = i+1

V ed[i] < 18 F

Escribir: nom[i], ed[i], sex[i]

nmen = nmen + 1

Escribir : nmen

20
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

i = 0 ; i < N; i = i+1

V sex[i]= F ed[i] 18 F

Escribir: nom[i], ed[i], sex[i]

sedmu = sedmu + ed[i]

Escribir : sedmu

i = 0 ; i < N; i = i+1

V sex[i]= M F

nh = nh + 1

sedh = sedh + ed[i]

V nh > 0 F

prh = sedh / nh Escribir: No se ingres datos de

Escribir : prh alumnos hombres


i = 0 ; i < N; i = i+1

V ed[i] 18 F

cmay = cmay + 1

sedmay = sedmay + ed[i]

V cmay > 0 F

eprmay = sedmay / cmay Escribir: No se ingres datos de

Escribir : eprmay mayores de edad

21
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

i = 0 ; i < N; i = i+1

sum = sum + ed[i]

prt = sum /N

Escribir : prt
i = 0 ; i < N; i = i+1

V sex[i]= M ed[i] >prt F

Escribir: nom[i], ed[i], sex[i]

Leer nomaux

i = 0 ; i < N; i = i+1

V nom[i] = nomaux F

Escribir: nom[i], ed[i], sex[i]

c = c+1

V c=0 F

Escribir : el dato buscado no existe

c=0

Leer edaux

edaux 0

22
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

i = 0 ; i < N; i = i+1

V ed[i] = edaux F

Escribir: nom[i], ed[i], sex[i]

c = c+1

V c=0 F

Escribir : el dato buscado no existe

c=0

Leer sexaux

sexaux M sexaux F

i = 0 ; i < N; i = i+1

V sex[i] = sexaux F

Escribir: nom[i], ed[i], sex[i]

c = c+1

IfV(nom[i].compareTo(nomaux)==0) c=0 F

Escribir : el dato buscado no existe

Fin

23
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

Cdigo en java
import java.io.*;
public class prob5
{ static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

public static void main(String [ ] args) throws IOException


{ String nom[] = new String[100]; // nom es un arreglo de cadenas de caracteres
int ed[ ] = new int [100]; // not es un arreglo de nmeros enteros
char sex[] = new char[100]; // sex es un arreglo de datos de tipo char
int N, nmen=0, sedmu=0, eprh, sedh=0, nh=0, eprmay, sedmay=0, cmay=0,
int edaux , i, c=0, sum=0, prt
String cad, nomaux;
char sexaux;

/*********** Ingreso de N *************/


do{ System.out.print("Ingrese No. de datos:");
N=Integer.parseInt(br.readLine());
}
while(N<=0 || N>100) ;
/*********** Ingreso de datos *************/
System.out.println("Ingreso de datos:");
for(i=0; i<N; i++)
{ System.out.println("Ingrese nombre[" + i+ " ] : ");
nom[i]= br.readLine(); // asi se lee un dato de tipo cadena de caracteres o String
nom[i]=nom[i].toUpperCase(); // se convierte una cadena a maysculas

do{System.out.println("Ingrese edad[" + i+ " ] : ");


ed[i]= Integer.parseInt(br.readLine());
}
while(ed[i]<=0);

do{System.out.println("Ingrese sexo[" + i+ " ] : ");


cad = br.readLine( );
cad = cad.toUpperCase( );
sex[i]= cad.charAt(0);
}
while(sex [i] != M && sex[i] != F);
}

24
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

/***********Reporte de los datos de los alumnos menores de edad************/


System.out.println("Reporte de los datos de los alumnos menores de edad ");
for(i=0; i<N; i++)
{ if(ed[i] < 18)
{ System.out.println("\n"+nom[i]+"\t"+ed[i]+\t+sex[i]);
nmen ++;
}
}
System.out.println("\nCantidad de alumnos menores de edad es ="+ nmen);
/*******Reporte de los datos de las alumnas mujeres mayores de edad*****/
System.out.println("Reporte de los datos de las alumnas mujeres mayores de edad ");
for(i=0; i<N; i++)
{ if(sex[i]== F && ed[i]>= 18)
{ System.out.println("\n"+nom[i]+"\t"+ed[i]+\t+sex[i]);
sedmu = sedmu + ed[i];
}
}
System.out.println("\nSuma de edades de mujeres mayores de edad =+sedmu);
/******Reporte de la edad promedio de alumnos hombres.********/
System.out.println("Calculo de la edad promedio de alumnos hombres ");
for(i=0; i<N; i++)
{ if(sex[i] ==M)
{ nh ++;
sedh = sedh + ed[i];
}
}
if ( nh > 0) { prh = sedh / nh;
System.out.println("\Edad prom. de hombres ="+ prh);
}
else { System.out.println("\nNo se ingreso datos de alumnos hombres);
}
/******Reporte de la edad promedio de los mayores de edad.********/
System.out.println("Calculo de la edad promedio de los mayores de edad ");
for(i=0; i<N; i++)
{ if(ed[i] >= 18)
{ cmay ++;
sedmay = sedmay + ed[i];
}
}
if ( cmay > 0) { eprmay = sedmay / cmay;
System.out.println("\Edad prom. de mayores de edad ="+eprmay);
}
else { System.out.println("\nNo se ingreso datos de mayores de edad);
}

25
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

/***********Clculo de la edad promedio total*************/


System.out.println("Reporte de la edad promedio total");
for(i=0; i<N; i++)
{ sum = sum + ed [i];
}
prt = sum / N;
System.out.println("\nLa edad promedio total es:"+ prt);

/********* Reporte de datos de los alumnos hombres con edad promedio *******/
System.out.println("Reporte de alumnos con edad mayor o igual al promedio ");
for(i=0; i<N; i++)
{ if(sex[i]==M && ed[i]>= prt)
{ System.out.println("\n"+nom[i]+"\t"+ed[i]+\t+sex[i]);
}
}

/****** Reporte de los datos de un alumno determinado******/


System.out.println("Reporte de los datos de un alumno determinado ");
System.out.print(\nIngrese nombre de alumno a buscar :);
nomaux = br.readLine();
nomaux = nomaux.toUpperCase(): // se convierte el nombre a maysculas
for(i=0; i<N; i++)
{ if(nomaux.compareTo(nom[i])==0) // as se comparan dos nombres o cadenas
{ System.out.println("\n"+nom[i]+"\t"+ed[i]+\t+sex[i]);
c ++;
}
}

if( c == 0)
{ System.out.println("\nEl dato buscado no existe );
}

/****** Reporte de los datos de los alumnos con una edad determinada******/
c=0;
System.out.println("Reporte de los datos de alumnos con una edad determinada ");
do { System.out.print(\nIngrese edad a buscar :);
edaux = Integer.parseInt(br.readLine());
}
while (edaux <=0);
for(i=0; i<N; i++)
{ if(edaux == ed[i])
{ System.out.println("\n"+nom[i]+"\t"+ed[i]+\t+sex[i]);
c ++;
}
}

26
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS ARREGLOS -II
FUNDAMENTOS DE PROGRAMACIN 2

if( c == 0)
{ System.out.println("\nEl dato buscado no existe );
}

/****** Reporte de los datos de los alumnos con un sexo determinado******/


c=0;
System.out.println("Reporte de los datos de alumnos con un sexo determinado ");
do { System.out.print(\nIngrese sexo a buscar :);
cad = br.raedLine();
cad = cad.toUpperCase();
sexaux= cad.charAt(0);
}
while (sexaux != M && sexaux != F);
for(i=0; i<N; i++)
{ if(sexaux == sex[i])
{ System.out.println("\n"+nom[i]+"\t"+ed[i]+\t+sex[i]);
c ++;
}
}

if( c == 0)
{ System.out.println("\nEl dato buscado no existe );
}

} // llave de fin de main


} // llave de fin de la clase

27

Anda mungkin juga menyukai