Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Apellidos, Nombre
DepartamentodeInformtica
/ GRUPO
____________________________________/______
Examen Junio 2014
1.(2puntos)
Respondaalassiguientespreguntas(15lneascomomximo)
a) Qu es el miembro
this
? Describa las tres situaciones en que se debe utilizar y escriba un
pequeoejemplodecadaunadeellas.
b)
Clasesabstractas:quson?paraqusirven?cmoseutilizan?
2.(2puntos)
Respondabrevementelassiguientescuestiones(entre3y7lneascomomximo)
a)
Expliqueladiferenciaentreunaclaseyunobjeto
b) Por qu es(casisiempre)necesariodefinirexpresamenteelconstructordecopiayeloperador
deasignacin?
classEquipo{
private:
std::stringnombre
protected:
intnumJugadores
}
classFutbol:publicEquipo{}
classBaloncesto:protectedEquipo{}
classTenis:privateEquipo{}
d) Cmo se puede comunicar internamente (esto es: sin mostrar mensajes al usuario) un error
producidoenunconstructor,paratratarloadecuadamente?PonunejemploencdigoC++
1/3
3. (3 puntos)
El Departamento de Informtica ha decidido construir una aplicacin para gestionar
repositorios de objetos de aprendizaje. Cada repositorio tiene asociado un nombre y una fecha de
creacin, e incluye una coleccin
nicadeobjetosdeaprendizaje.Unobjetodeaprendizajepuedeserun
fichero (de cualquier tipo), una actividad (guardamos solo el nmero de ejercicios que contiene) o un
enlace a un recurso web (guardamossudireccin URL). Por motivos dederechosdeautor,unobjetode
aprendizaje solo puede pertenecer a un repositorio. Cada objeto de aprendizaje lleva asociados un
nombre
y un pesomedidoenKilobytes. El peso de una actividad se calcula como nmero de ejercicios
quecontiene multiplicado por0.5KB eldeunenlaceaunrecursoessiempre0.5KBmientrasqueelde
un fichero es el peso que se leasigne en el constructor. Por motivosdeespacio, el peso de un fichero
nuncapuedesersuperiora16000KB.
b) ImplementeenC++larepresentacin(estoes,atributos)delasclases
Repositorio
,el
Objetode
aprendizaje y
Actividad
. Implementar los mtodos get
/
set bsicos necesarios de objeto de
aprendizajeyactividad.
Nota: en los anteriores apartados implemente cualquier otro mtodo que fuera necesario y detallar
cualquiersuposicinqueconsidereoportunoparajustificarsusdecisionesdediseo
(Elexamencontinapordetrs)
2/3
4.(1 punto)
Este diagramaUML representa unsistemadepublicacinysubscripcindecontenidos. El
sistema dispone de diferentes canales de contenidos identificados por un ttulo. Para un canal, los
usuariospuedensubscribirsepararecibirsuscontenidos.Cuandosepublicaunmensajealcanal,seenva
a todos los usuarios subscritos utilizando respectivamente su mtodo
Usuario::envia()
. Los contenidos
queseaceptandebenimplementarlainterfaz
Mensaje
.
b)
Implementardeforma
inline
losmtodos
Canal::alta(usuario)
y
Canal::totalUsuarios()
5.(2puntos)
Sobreelmodelodelejercicio4:
Nota para ejercicios 4 y 5: Suponer que estn implementados todos los mtodos get y set para los
atributos de tipossimplesentodaslasclases.Implementecualquierotromtodoofuncindelcualdeba
hacerusopararesolverlosmtodosaqusolicitados.
3/3