View
227
Download
4
Category
Preview:
DESCRIPTION
trabajoexamen
Citation preview
ALGORTMICA II UNSAAC Semestre 2013-2V Ing. Javier David Chvez Centeno Pg. 1 de 2
PRIMERA EVALUACIN PARCIAL
CURSO: ALGORTMICA II-2013-2VCARRERA:
FECHA:APELLIDOS Y NOMBRES:
1. En una lista (ArrayList) se tiene objetos de la clase CVigilancia. La clase CVigilancia tiene los siguientes atributos: Id, Familia, NroPisos, PagoXPiso y PagoTotal; Id, Familia son de tipo cadena, NroPisos de tipo entero, PagoXPiso y PagoTotal de tipo real. Escribir un mdulo (iterativo o recursivo) que permita hallar el pago total de todas las familias que tienen una casa de dos pisos.
Lista
pNroPisos
PagoTotal
(objetos de tipo CVigilancia)
Id Familia NroPisos PagoXPiso PagoTotal
"01", "Espetia", 1, 20,20
2
80 "02", "Rodriguez", 2, 20, 40
"03", "Quispe", 3, 20, 60
"04", "Perez", 2, 20, 40
"05", "Gonzales", 1, 20, 20
3. CODIFICACINclass CVigilancia{
// Atributos public string Id { get; set; }
public string Familia { get; set; }
public int NroPisos { get; set; }
public int PagoXPiso { get; set; }
public int PagoTotal { get; set; }
// Mtodo public CVigilancia(string pId = "", string pFamila = "", int pNroPisos = 0,int pPagoXPiso = 0, int pPagoTotal = 0)
{
Id = pId;
Familia = pFamila;
NroPisos = pNroPisos;
PagoXPiso = pPagoXPiso;
PagoTotal = pPagoTotal;
}
}
// Pago total de todas familias que
// tienen una casa de dos pisosstatic int PagoTotal(ArrayList Lista, int pNroPisos)
{
int pt = 0;
foreach (CVigilancia vigilancia in Lista)
{
if (vigilancia.NroPisos == pNroPisos)
pt = pt + vigilancia.PagoTotal;
}
return pt;
}
2. Dado una lista (ArrayList) de N objetos de la clase CPago con los siguientes atributos: Id, NombresAlumno, Curso, TipoPago (1=Pago Normal y 2=Pago con Descuento) y Pago. Escribir un mdulo recursivo que determine el nmero de alumnos que pagaron con descuento en un determinado curso.
Lista
pCurso pTipoPago NroAlumnosPagoDscto (objetos de tipo CPago)
Id NombreAlumno Curso TipoPago Pago
"01", "Perez", "Ofimtica I", 1, 100 "Ofimtica II" 2 2 "02", "Herrera", "Ofimtica II", 2, 80
"03", "Garcia", "Ofimtica I", 1, 100
"04", "Humala", "Ofimtica II", 2, 80
"05", "Morales", "Ofimtica II", 1, 100
3. CODIFICACINclass CPago{
// Atributos public string Id { get; set; }
public string NombreAlumno { get; set; }
public string Curso { get; set; }
public int TipoPago { get; set; }
public int Pago { get; set; }
// Mtodos // -- Constructores public CPago(string pId = "", string pNombreAlumno = "", string pCurso = "",
int pTipoPago = 0, int pPago = 0)
{
Id = pId;
NombreAlumno = pNombreAlumno;
Curso = pCurso;
TipoPago = pTipoPago;
Pago = pPago;
}
}
// Nmero de alumnos que pagaron // con descuento en un determinado cursostatic int NroAlumnosPagoDscto(ArrayList Lista, string pCurso, int pTipoPago, int N, int i)
{
CPago pago; if (N == -1)
return 0;
else {
pago = Lista[i] as CPago;
if (pago.Curso == pCurso &&
pago.TipoPago == pTipoPago)
return NroAlumnosPagoDscto(Lista, pCurso, pTipoPago, N - 1, ++i) + 1;
else return NroAlumnosPagoDscto(Lista, pCurso, pTipoPago, N - 1, ++i);
}
}
_1454140142.vsd
1
ANALIZAR
1.1 Entender el Problema
PROCESO
Datos
Resultados
Recommended