Está en la página 1de 3

Programacin Orientada a Objetos

Primera Evaluacin
I Trmino 2014-2015
Tema 1 (15 Puntos)
Responda correctamente las siguientes preguntas:
a. Qu est mal con el siguiente lazo?
double[]data=newdouble[10];
for(inti=1;i<=10;i++)data[i]=i*i;

b. Para qu sirve la mquina virtual de Java?


c. Cul es la diferencia entre un objeto y una referencia a objeto
en Java?

Tema 2 (15 Puntos)


Cul es la relacin apropiada entre las siguientes clases: agregacin,
herencia o ninguna?
a. Universidad-Estudiante
b. Estudiante-AsistenteDeCatedra
c. Estudiante-Novato
d. Estudiante-Profesor
e. Auto-Puerta
f. Camin-Vehculo
g. Trfico-SealDeTrafico
h. SealDeTrafico-Color

Tema 3 (30 Puntos)


Suponga que usted ha sido llamado para desarrollar una aplicacin que
imprima un recibo de compra con el siguiente formato:

RECIBO
Comercial Padilla
Aguirre 512 y Boyac
Guayaquil, Ecuador

Producto

CantidadPrecio Total

Tostadora

$29.95 $89.85

Secador de Cabello

$24.95 $24.95

Aspiradora para Auto

$19.99 $39.98

Total a pagar:

$154.78

Como se puede observar, el recibo describe el valor a pagar por un


grupo de productos en ciertas cantidades. Por simplicidad vamos a
omitir datos como fechas, impuestos, nmero de recibo y de cliente. El
programa simplemente debe imprimir la cabecera, la direccin del
cliente, el detalle de productos en lneas diferentes y el total a pagar.
Cada lnea del detalle contiene la descripcin del producto, el precio
unitario, la cantidad a comprar y el precio total. Tambin, por
simplicidad, su sistema no ofrece una interfaz de usuario; simplemente
aade productos al recibo y lo imprime en el siguiente formato:
RECIBO
ComercialPadilla
Aguirre512yBoyac
Guayaquil,Ecuador
Producto
Tostadora
SecadordeCabello
Aspiradoraparacarro
TOTALAPAGAR:$154.78

Precio
29.95
24.95
19.99

Cantidad
3
1
2

Total
89.95
24.95
39.98

Identifique las clases necesarias para implementar este sistema y cree


el diagrama de clases correspondiente que muestre los atributos y
mtodos por cada clase as como la relacin, en caso de existir, entre
las clases.

Tema 4 (40 Puntos)


Un cuadrado mgico es una matriz de n x n que contiene todos los
nmeros entre 1 y n2 ordenados de tal forma que todos los elementos
en cada fila, columna, y las dos diagonales suman el mismo valor. Este
es un ejemplo:
16 3
2
5 10 11
9
6
7
4 15 14

13
8
12
1

Implemente el siguiente algoritmo para construir cuadrados mgicos


que funciona slo si n es impar.
Coloque 1 en la mitad de la fila inferior. Luego de que un valor k ha
sido colocado en la matriz en la posicin (i,j), ubique k + 1 en la
posicin abajo a la derecha (i + 1, j + 1), considerando los bordes.
Ahora, si esta posicin ya se encuentra ocupada, o si se encuentra en
la esquina inferior izquierda, entonces ubique el valor en la posicin
inmediatamente arriba (i 1, j).
Este es un ejemplo de un cuadrado mgico de 5 x 5.
11
10
4
23
17

18
12
6
5
24

25
19
13
7
1

2
21
20
14
8

9
3
22
16
15

Escriba un programa que lea por teclado el valor de n y muestre el


cuadrado mgico de orden n, siempre y cuando n sea impar.
Implemente una clase CuadradoMagico con un constructor que
construya el cuadrado y un mtodo toString que permita mostrar el
cuadrado mgico por pantalla.

También podría gustarte