Академический Документы
Профессиональный Документы
Культура Документы
Gonzalo Travieso
2013-05-03
Introduo
Para um primero trabalho usando orientao a objetos, vamos considerar a situao em que um programador
deve realizar a implementao de um trecho de cdigo seguido as especificaes indicadas pelo projeto como
um todo. Neste caso, o trecho de cdigo a implementar corresponde a apenas uma classe. Como parte do
desenvolvimento de um pedao qualquer de programa, importante que sejam desenvolvidos testes que permitam
verificar se esse cdigo est agindo de acordo com o esperado. No caso atual, o teste ser fornecido, e voc
precisa desenvolver uma classe que atenda os requisitos, inclindo passar no teste fornecido. Lembrem-se que
nenhum teste pode ser totalmente completo, ento possvel que uma classe que passa nos testes esteja mesmo
assim errada. Portanto, preste ateno em no apenas passar nos testes, mas em atender ao que solicitado.
Encare os testes como uma forma de ajudar a compreender o que foi pedido.
Placares de pontuao
Num mundo paralelo, voc est trabalhando numa equipe que est desenvovendo um jogo de computador, no
qual os jogadores participam de diversas disputas. Para cada uma delas, o jogador recebe uma pontuao que
um nmero inteiro (e pode ser negativo), de acordo com seu desempenho. Para estimular os jogadores, o jogo
mantm placares annimos (sem referncia a jogadores) das maiores pontuaes atingidas em cada uma das
disputas. O nmero de posies mostradas em cada placar definido apenas quando se cria o placar (no
fixo).
Voc precisa ento desenvolver uma classe cujos objetos representaro esses placares. Essa classe deve
satisfazer os seguintes critrios:
Seu nome Highest_scores.
Como indicado, o nmero de pontuaes que cabe num placar especificado ao criar o placar. Um mtodo
chamado capacity() dessa classe retorna o nmero de posies disponveis.
Em um dado instante, pode haver menos valores de pontuaes na disputa do que posies no placar. Um
mtodo chamado size() retorna o nmero de pontuaes atualmente armazenadas no placar.
A maior pontuao registrada em um placar retornada por um mtodo chamado highest_score().
Se quisermos saber todos os valores armazenados num placar, basta chamar o mtodo all_scores(), que
retorna um ponteiro para um array com as pontuaes em ordem decrescente, isto , a posio de ndice
0 tem o maior valor, a de ndice 1 o segundo maior valor, etc. O tamanho desse array retornado dados
pelo mtodo size(), citado acima.
Sempre que um jogador atinge o final de uma disputa, ser chamado, pelo programa que usa essa classe,
um mtodo de nome new_score(int), que registra a ocorrncia da pontuao passada como parmetro.
Esse mtodo no retorna nada, apenas registrando no objeto a pontuao fornecida, caso necessrio.
O que entregar