PROGRAMACIÓN ORIENTADA A OBJETOS - Departamento de ...
PROGRAMACIÓN ORIENTADA A OBJETOS - Departamento de ...
PROGRAMACIÓN ORIENTADA A OBJETOS - Departamento de ...
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.