AP1 de Programação III - 2007.1 - Gabarito

1166 palavras 5 páginas
Fundação CECIERJ - Vice Presidência de Educação Superior a Distância

Curso de Tecnologia em Sistemas de Computação
Disciplina:
AP 1° semestre de 2007.

Nome –
Assinatura –
Observações:
1. Prova sem consulta e sem uso de máquina de calcular.
2. Use caneta para preencher o seu nome e assinar nas folhas de questões e nas folhas de respostas.
3. Você pode usar lápis para responder as questões.
4. Ao final da prova devolva as folhas de questões e as de respostas.
5. Todas as respostas devem ser transcritas nas folhas de respostas. As respostas nas folhas de questões não serão corrigidas.

Questão 1)
Imagine que devemos implementar um jogo de guerra composto por canhões e aviões.
Estes podem atirar, e cada acerto corresponde a 25% menos de vida do acertado, além de bonificar com 1 ponto o atirador. Tanto canhões quanto aviões possuem largura e altura próprias, de forma que um acerto corresponde a um tiro que atravessa a área destes objetos. Os aviões podem se mover de qualquer ponto para qualquer ponto da tela, enquanto que os canhões têm uma posição fixa. Entretanto, um canhão pode variar o ângulo de inclinação de sua arma de 0 a 180 graus.
a) [1,5 pontos] Declare as classes necessárias para este jogo, seus respectivos atributos e métodos, aplicando os conceitos de OO vistos, como herança, sempre que possível.
b) [1,0 ponto] De que maneira podemos obrigar que novos tipos de indivíduos
(soldado, helicóptero, etc) a serem desenhados tenham, pelo menos, um método de desenho. Altere o código dado de maneira a incorporar esta obrigação.

Resposta: Nesta questão desejamos que os alunos coloquem em prática os conhecimentos passados de definição de classes, herança, etc. O que será cobrado é apenas a estruturação básica, como está no código abaixo. Ou seja, não é necessária a definição de um jogo completo. Para o item b, devemos definir um método de desenho abstrato, de forma que as especializações sejam obrigadas a definir este método. abstract class ObjetoVisual {
float

Relacionados