Está en la página 1de 3

P ROGRAMACIN Y A LGORITMOS

P RCTICA 7
P ROGRAMACIN O RIENTADA A O BJETOS

1. R ESPONDER LAS SIGUIENTES PREGUNTAS


1) Modelizar utilizando diagramas de clases (UML) los siguientes objetos. Defina atributos y mtodos (para
una funcionalidad mnima).
1. Fecha.
2. Automvil.
3. Pava elctrica.
4. Ventana del sistema operativo Windows.
5. Sala de cine.

2) Teniendo en cuenta la tabla que se muestra a continuacin, conectar los trminos de la columna 1 con los
trminos de la columna 2 y completar la columna 3 con el tipo de flecha que corresponda. La primera columna
enuncia los nombres de algunos tipos de relaciones que se pueden dar entre clases. La segunda columna indica
los trminos utilizados cuando se leen dichas relaciones entre clases. Por ltimo, la tercera columna es la que
muestra las representaciones de dichas relaciones en los diagramas de clases.

Columna 1 Columna 2 Columna 3


Agregacin Es un..
Generalizacin Forma parte de..
Composicin Utiliza..

3) Cmo se logra en un lenguaje de programacin orientado a objetos la reutilizacin de cdigo?

4) Definir los tipos de atributos que puede tener una clase y su significado.

5) Definir los tipos de mtodos que puede tener una clase y su significado.

6) Definir qu es un destructor y qu es un constructor en un lenguaje de programacin orientado a objetos.

2. D ISEAR E I MPLEMENTAR
7) Disee y escriba una seccin de declaracin de clases para cada una de las siguientes especificaciones.
En cada caso incluya prototipos para un constructor (o varios) y funciones miembro que permitan manip-
ular cada uno de sus atributos. Por ejemplo, si la clase tiene el atributo hora, implementar las funciones

UNRN - I NGENIERA E LECTRNICA 1 de 3


P ROGRAMACIN Y A LGORITMOS

setearHora(unaHora) y mostrarHora(). Esto hace que se puedan manipular de forma correcta los miem-
bros de datos privados de la clase. Implemente las funciones pedidas e incluya otras funciones si es necesario.
a. Una clase llamada Tiempo con atributos de tipo entero llamados horas, minutos y segundos.
b. Una clase llamada Complejo que tenga miembros de datos (atributos) en nmero de precisin doble llamados
real e imaginario.
c. Una clase llamada Circulo que tenga miembros de datos en nmero entero llamados centro_x y centro_y
y un miembro de datos en nmero de precisin doble llamado radio.
d. Una clase llamada Sistema que tenga miembros de datos strings (de 30 caracteres) llamados computadora,
impresora y pantalla y miembros de datos en nmero de precisin doble llamados precioComp, precioImpr
y precioPant.

8) a. Construya el diagrama de clases y luego implemente una clase llamada Rectangulo que tenga miembros
de datos en nmero de precisin doble llamados largo y ancho. La clase deber tener una funcin miem-
bro llamada permetro() y otra funcin miembro llamada area() para calcular el permetro y el rea de un
rectngulo. Impementar las funciones para manipular los atributos (asignarles valor y mostrar). Adems, im-
plementar una funcin miembro llamada mostrarDatos() que muestre el largo, ancho, permetro y area de un
rectngulo (utilizando los propios mtodos de la clase).
b. Incluya la clase Rectangulo construida en el ejercicio 8) a. dentro de un programa C++ funcional.

9) Implemente la clase Fecha definida en el ejercicio 1. Adems agregue dos funciones ms: 1. funcin
diaSig() que incremente una fecha en 1 da. Pruebe su funcin para asegurarse que incrementa de manera
correcta los das en un nuevo mes y en un nuevo ao. 2. Funcin diaAnt() que disminuya una fecha en un da.
Pruebe su funcin para asegurarse que decrementa de manera correcta para un mes anterior y ao anterior.
Nota: puede asumir que no existen aos bisiestos. Tenga en cuenta los meses de 30, 31 y 28 das.

10) Construya el diagrama de clase y luego implemente una clase llamada Estudiante consistente de un
nmero entero de identificacin del estudiante, un arreglo de 60 calificaciones en nmero flotante y un entero
que represente el nmero total de calificaciones introducidas. El constructor de esta clase deber inicializar
todos los miembros de datos de Estudiante en 0. Debern incluirse en la clase funciones miembro para 1) in-
troducir un nmero de identificacin del estudiante, 2) introducir una calificacin (si no fueron introducidas ya
todas las notas) y 3) calcular la calificacin promedio y desplegar la indentificacin del estudiante seguida por
la calificacin promedio.
Incluya la clase construida dentro del contexto de un programa completo. Su programa deber declarar dos
objetos del tipo Estudiante y aceptar y desplegar datos para los dos objetos para verificar la operacin de las
funciones miembro.

11. Modifique la clase Fecha para que contenga un mtodo que compare dos objetos de tipo fecha Fecha. El
mtodo lo recibe un objeto de clase Fecha y tiene como parmetro otro objeto de clase Fecha. Retorna ver-
dadero si la fecha es menor a la Fecha argumento:

fecha1.Menor(fecha2)

UNRN - I NGENIERA E LECTRNICA 2 de 3


P ROGRAMACIN Y A LGORITMOS

El mtodo puede escribirse de acuerdo al siguiente algoritmo:

Algorithm 1: Funcin de comparacin.


1 Acepta dos valores Fecha como parmetro
2 Determina la fecha ms reciente mediante el siguiente procedimiento:
3 Convierte cada fecha en un valor entero de la forma aaaammdd
4 (esto puede lograrse usando la frmula ao*10000 + mes * 100 + da)
5 Compara los enteros correspondientes para cada fecha
6 El nmero entero ms grande corresponde a la fecha ms reciente.
7 Devuelve la fecha ms reciente
8 }

3. Disear utilizando diagramas de clases


12) Disear una jerarqua de clases que utilice como clase base o raz una clase LAN (red de rea local). Las
subclaes derivadas deben representar diferentes topologas, como estrella, anillo o bus. Los miembros dato
deben representar propiedades tales como soporte de transmisin, control de acceso, formato del marco de
datos, estndares, velocidad de transimisin, etc. Se desea simular la actividad de los nodos de tal LAN. La red
consta de nodos, que pueden ser dispositivos tales como computadoras personales, estaciones de trabajo, FAX,
etc. Una tarea principal de LAN es admitir comunicaciones de datos entre sus nodos. El usuario del proceso de
simulacin debe, como mnimo poder:
a. Enumerar los nodos actuales de la red LAN.
b. Aadir un nuevo nodo a la red LAN.
c. Quitar un nodo de la red LAN.
d. Configurar la red, proporcionndole una topologa de estrella, bus o anillo.
e. Especificar el tamao del paquete, que es el tamao en bytes del mensaje que va de un nodo a otro.
f. Enviar un paquete de un nodo especfico a otro.
g. Difundir un paquete desde un nodo a todos los dems nodos de la red.
h. Realizar estadsticas de la LAN, tales como tiempo medio que emplea un paquete para ser transmitido.

13) Disear una clase FigGeometrica que represente figuras geomtricas tales como punto, linea, rectngulo,
tringulo y similares. Debe proporcionar mtodos que permitan dibujar, ampliar, mover y destruir tales objetos.
La jerarqua debe constar de al menos una decena de clases.

14) Disear una jerarqua de tipos datos numricos que extienda los tipos de datos fundamentales tales como
int y float, disponibles en C++. Las clases a disear pueden ser Complejo, Fraccin, Vector, Matriz,
etc.

UNRN - I NGENIERA E LECTRNICA 3 de 3

También podría gustarte