25.07.2013 Views

PROGRAMACIÓN ORIENTADA A OBJETOS - Departamento de ...

PROGRAMACIÓN ORIENTADA A OBJETOS - Departamento de ...

PROGRAMACIÓN ORIENTADA A OBJETOS - Departamento de ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

PROGRAMACION <strong>ORIENTADA</strong> A <strong>OBJETOS</strong><br />

<strong>Departamento</strong> <strong>de</strong> Ciencias <strong>de</strong> la Computación<br />

Universidad Nacional <strong>de</strong>l Sur<br />

<strong>de</strong>s<strong>de</strong> la posición en don<strong>de</strong> están. Eso se realiza <strong>de</strong> acuerdo a la cantidad <strong>de</strong> combustible<br />

que le queda y <strong>de</strong> las características particulares <strong>de</strong> cada tanque.<br />

Los tanques más famosos son el BMP-2 y el BMP-3.<br />

El BMP-2 es un vehículo basado en el BMP Base, pero que funciona como centro <strong>de</strong><br />

comunicaciones. Para los objetivos <strong>de</strong> la simulación, sólo interesa la marca <strong>de</strong> la radio, el<br />

mo<strong>de</strong>lo <strong>de</strong>l BMP-2, y cuántos soldados está transportando. El cálculo <strong>de</strong>l alcance <strong>de</strong>l<br />

vehiculo es<br />

(cantidad <strong>de</strong> combustible en el tanque*10) – 0.05*(peso <strong>de</strong> la radio) +2*(peso <strong>de</strong>l mo<strong>de</strong>lo)<br />

Las radios marca “KGB1” pesan 10 kilos, las <strong>de</strong> marca “KGB2” pesan 15 kilos. Los BMP-2<br />

mo<strong>de</strong>lo 86 pesan 1500 kilos y los <strong>de</strong> mo<strong>de</strong>lo 90 pesan 1000 kilos.<br />

El BMP-3 está basado tambien en el BMP Base, pero éste tiene un cañón pesado. Hasta<br />

ahora, se <strong>de</strong>tectó el uso <strong>de</strong> cañones AK en estos tanques. Los cañones AK pue<strong>de</strong>n ser <strong>de</strong><br />

diferentes milímetros y pue<strong>de</strong> ser móvil o no. En el juego interesa a<strong>de</strong>más la cantidad <strong>de</strong><br />

municiones que admite el cañón, y el tiempo que <strong>de</strong>mora en recargar, lo cual es (50<br />

segundos * milímetros <strong>de</strong>l cañón + retardo <strong>de</strong>l mo<strong>de</strong>lo). Los mo<strong>de</strong>los “1” tienen un retardo<br />

adicional <strong>de</strong> 10 segundos, los mo<strong>de</strong>los “2” un retardo <strong>de</strong> 20 segundos. El cálculo <strong>de</strong>l alcance<br />

<strong>de</strong>l BMP-3 es<br />

(cantidad <strong>de</strong> combustible en el tanque*15) – 10*(mo<strong>de</strong>lo <strong>de</strong>l cañón)<br />

También interesa para la simulación que estos tanques BMP-3 puedan disparar, lo que<br />

provoca la disminución <strong>de</strong> la munición actual.<br />

Diseñe en UML las clases necesarias para representar los tanques en el simulador, <strong>de</strong><br />

acuerdo a lo pedido. Implemente todas los comandos y constructores.<br />

Ejercicio 8:<br />

Los últimos informes <strong>de</strong> espionaje indican que los rusos han producido un nuevo tanque, el<br />

BMP-31. Según lo indicado, este nuevo tanque está basado en el BMP-3, pero tiene un<br />

nuevo cañón AK <strong>de</strong>nominado AK47. Este nuevo cañón es doble, pue<strong>de</strong> tener o no mira<br />

infrarroja y el tiempo <strong>de</strong> recarga es siempre <strong>de</strong> 15 segundos. El alcance <strong>de</strong>l tanque es igual<br />

al <strong>de</strong>l BMP-3, pero por el peso <strong>de</strong>l AK47 pier<strong>de</strong> unos 13 kilómetros.<br />

Diseñe en UML las clases necesarias para actualizar el simulador <strong>de</strong> acuerdo a los<br />

últimos informes. Implemente todas los comandos y constructores.<br />

Ejercicio 9: Teniendo en cuenta las siguientes <strong>de</strong>claraciones <strong>de</strong> clases en Java:<br />

public class Primera<br />

{ protected int prot;<br />

private int priv;<br />

int a;<br />

...<br />

public final int f()<br />

{...}<br />

}<br />

public final class Tercera extends Segunda<br />

{<br />

private int pv;<br />

public static int ps;<br />

protected final int h = 12;<br />

...<br />

}<br />

public class Segunda extends Primera<br />

{ protected int priv;<br />

public int pub;<br />

public final int pf = 9;<br />

...<br />

}<br />

(a) Indique cuáles son los atributos accesibles en las clases Segunda y Tercera.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!