Está en la página 1de 27

UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE

INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II


ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

Código 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 números 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().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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

/***********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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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

V not[i] = may F

Escribir: nom[i], ed[i]

cmay = cmay + 1

Escribir: cmay
Fin

Código 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 números 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().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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

/***********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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

/***********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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

Código 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 números 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;

/*********** 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().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+ " ] : ");


sex[i] = br.readLine( ).toUpperCase( ).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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

/***********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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

/***********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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

Código 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 números enteros
int not2[ ] = new int [100]; // not2 es un arreglo de números enteros
int pro[ ] = new int [100]; // pro es un arreglo de números 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().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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

/******* 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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

Código 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 números 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 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().toUpperCase();

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


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

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


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

24
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

/***********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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

/***********Cálculo 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().toUpperCase();
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
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ARREGLOS -II
ALGORITMIA Y PROGRAMACIÓN

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 :”);
sexaux = br.readLine().toUpperCase().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

También podría gustarte