3
ALGORÍTMICA II – UNSAAC – Semestre 2013-2V Ing. Javier David Chávez Centeno Pág. 1 de 3 PRIMERA EVALUACIÓN PARCIAL CURSO: ALGORÍTMICA II-2013-2V CARRERA: 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 módulo (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. CODIFICACIÓN class 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; } // Método 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 pisos static int PagoTotal(ArrayList Lista, int pNroPisos) { int pt = 0; foreach (CVigilancia vigilancia in Lista) { if (vigilancia.NroPisos == pNroPisos) pt = pt + vigilancia.PagoTotal; } return pt; }

Algoritmica II Parcial 01 2013-2v Solucionario

Embed Size (px)

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