Sei sulla pagina 1di 2

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS

DEPARTAMENTO DE COMPUTAÇÃO
ENGENHARIA DE COMPUTAÇÃO

Programação de Computadores II
3ª Prova de Laboratório - Tema: Circo – Valor 30 pontos

1. A turma do 2º período de Engenharia de Computação do CEFET-MG foi contratada pela empresa de atividades
circenses “Irmãos Bigodelli”. Ruibarbo Bigodelli, o irmão mais velho e presidente da empresa, pretende
modernizar a sua atividade e, entre outras medidas, deseja encomendar um sistema que permita gerir toda a
informação que envolve o funcionamento da empresa.

Depois de várias entrevistas, chegou-se à seguinte descrição das necessidades da empresa:

A empresa “Irmãos Bigodelli” gerencia um circo. No circo trabalham artistas e outros funcionários (empregados).
Para ambos, é necessário saber o nome, número e país de emissão do passaporte, data de nascimento, salário, data
de contratação pelo circo e data de saída do circo (se existir). Os artistas principais tem que exercer pelo menos uma
atividade. As atividades tem um código que as identifica e um nome (e.g., “domador”, “malabarista”, “mulher das
barbas”, etc.). Um artista pode exercer várias atividades. As atividades envolvem adereços. Estes podem ser de três
tipos: animais, materiais ou vestuário. Cada adereço é identificado por um código. Os animais podem também ser
identificados pelo nome. Os adereços restantes tem uma curta descrição. Para os animais, para além do nome, deve
ser guardada a sua data de nascimento, a espécie (“tigre”, “elefante”, “pulga”, etc.) e o sexo (“m” ou “f”). Cada animal
pode ter vários tratadores, que podem ser artistas ou funcionários. É necessário saber há quantos anos cada tratador
se dedica a cada animal. É necessário também guardar a constituição dos espetáculos dados pelo circo. Os
espetáculos tem uma data de entrada e uma data de saída de cartaz. Deve ser guardado o nome da cidade em que
ocorrem e o funcionário responsável pela sua execução. Não podem existir vários espetáculos em simultâneo. Um
espetáculo é constituído por várias atuações e deve ser guardada a ordem em que estas são apresentadas ao
público. Para cada atuação, deve ser guardada a atividade que foi apresentada e o artista que a executou.
O aplicativo a ser implementado deverá ser capaz de executar as seguintes operações:
(a) Listar todos os empregados atuais do circo. A listagem deve conter a sua identificação, data de contratação
(utilize o tipo String) e número de espetáculos em que participaram (quantidade).
(b) Dada a data de um espetáculo, listar todas as atividades que o constituíram. A listagem deve conter o nome
da atividade, o artista que a executou (nome) e quais foram os adereços utilizados.
(c) Dada a data de um espetáculo, listar todos os artistas que nele atuaram e, se forem tratadores, incluir na
listagem o nome dos animais de que são responsáveis.
(d) Para simular uma execução da aplicação, insira dados aleatórios para testes. Não é necessário ler os dados do
teclado. Simule a existência de no mínimo dois espetáculos, com duas atividades cada um, sendo que em
cada atividade existirão três adereços, dentre esses ao menos um animal que possui tratador.
(e) Sabendo que um adereço é, na verdade, um (ou mais) material utilizado na atividade realizada, ou um (ou
mais) tipo de vestuário, ou um (ou mais animal, será preciso armazenar as seguintes informações desses
tipos:
• material pode precisar de um auxiliar, quando for o caso de utensílios dos mágicos, por
exemplo. As cartolas, mesas com fundos falsos e caixas mágicas precisam de um funcionário
auxíliar para a apresentação;
• vestuário pode ser unissex ou pode ser do gênero masculino ou feminino. Há também a
informação do tamanho;
• animal é preciso saber o porte do animal. Animais de porte grande precisam de reforço no
picadeiro. A informação do funcionário tratador é sempre importante. É esse o responsável
pelo animal no circo.
Logo abaixo é apresentado um esboço incompleto do diagrama de classes que deverão ser contempladas na sua
aplicação. Nem todos os atributos foram explicitados nas classes e nem os métodos necessários para as operações
destacadas. Fique à vontade para completá-lo como desejar, acrescentando associações, se necessário. Não é
necessário entregar o diagrama corrigido. Faça as atualizações necessárias nas próprias classes desenvolvidas. Utilize
polimorfismo sempre que possível.
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS
DEPARTAMENTO DE COMPUTAÇÃO
ENGENHARIA DE COMPUTAÇÃO

Esboço do diagrama de classes - Circo Bigodelli

Boa sorte!

Potrebbero piacerti anche