Recomendações Importantes
Questão 1
A empresa que você trabalha fechou um contrato com uma rede de hotéis para desenvolver o ERP deles. Você, que foi considerado estagiário do mês, tem a confiança do seu chefe e vai ficar responsável por modelar e escrever as classes básicas do sistema segundo alguns requisitos passados pelo cliente:
OBS: Seu chefe quer testar o que você fez, então faça uma classe com um método main para que seja possível construir um objeto Hotel, segundo as especificações, e ao final imprima o objeto usando sua implementação do método toString da classe Hotel.
Faça tudo muito bem modularizado, essa é a sua chance de ser efetivado!
Questão 2
O gerente gostou do seu trabalho e resolveu que você iria prosseguir com o desenvolvimento do sistema. Agora você deve criar uma nova classe Hotel que vai ter as mesmas coisas da anterior, porém também vai ter o número de quarto ocupados, para cada tipo de quarto (solteiro, casal e presidencial). Crie também um método ocuparQuarto e desocuparQuarto que recebem o tipo do quarto alteram o número de quartos ocupados.
Depois disso você vai começar a criar a classe GerenciadorRede que vai possuir 4 hotéis e vai os seguintes métodos:
Questão 3
O sr. João Alberto, dono de uma agência de turismo, anda tendo problemas com tantos papéis soltos e deseja organizar os pacotes de turismo da agência no computador, para isso ele contratou você.
Atualmente cada pacote é composto de uma pasta com 4 folhas que são compostas por:
Depois de muito stress com toda essa papelada, quando um de seus funcionários bagunçou os papéis misturando os pontos turísticos de pacotes distintos, o sr. João Alberto pediu mais uma coisa, ele quer que o sistema possa verificar se os pontos turísticos são realmente válidos para aquele pacote. Para isso, ele informou que cada ponto turístico é cadastrado separadamente e dois pontos turísticos só podem estar no mesmo pacote se estiverem no mesmo estado e que os 4 primeiros dígitos do CEP sejam iguais.
Estruture as classes que representam Pacote e Ponto Turístico, validando a criação de um pacote (em caso não seja válido imprima uma mensagem no console).
Crie uma classe de teste onde possam ser criados 3 pontos turísticos e cadastrado (ou não) um pacote.
Questão 4
Josie, jornalista recém formada, está montando uma matéria especial sobre os recentes protestos estudantis para uma revista independente. No entanto, ela está com dificuldade em encontrar informações de uma maneira estruturada para contribuir com seu trabalho. Por isso, ela contratou você, exímio programador, para organizar melhor as informações sobre os recentes protestos.
Nessa primeira versão, o programa é composto pelas seguintes entidades:
Além disso, no programa deve ser possível:
Crie uma classe de teste, onde o usuário possui as seguintes opções:
OBS: - Caso o usuário digite uma data inválida, o programa deve avisá-lo e requisitar uma nova data.
Questão 5 - Desafio
O problema da Torre de Hanoi é um clássico. Diversas soluções para esse problema foram estudadas e exploradas ao longo dos anos. O problema consiste em três hastes: a inicial, a intermediária e a final. Na haste inicial, estão dispostos N discos, cada um com diâmetro diferente. O disco de maior diâmetro está na base, e cada disco está estritamente acima de um disco de diâmetro maior e estritamente abaixo de um disco de diâmetro menor (exceto o menor disco, que não tem discos sobre ele). O objetivo é, movendo um disco por vez, de uma haste para outra, transportar todos os discos para a haste final. Para movimentar um disco, você o remove da haste origem (ele precisa estar no topo desta, ou não pode ser movido) e o coloca sobre todos os discos da haste destino (caso haja algum). O desafio é você construir uma solução recursiva em Java para solucionar o problema da Torre de Hanoi.
Será dado o número N de discos. Seu programa deve imprimir passo a passo a resolução do problema, respeitando todas as regras acima. O formato de impressão é
A --> B
Onde A é a haste de onde você tirou o disco do topo e B é a haste onde você o colocou. Os valores de A e B podem ser 1 (haste inicial), 2 (haste intermediáia) e 3 (haste final).
Ao final deste processo, o programa deve encerrar.
Vamos resolver Hanoi?
Quantos discos você tem? Digite: 3
Hmm, 3 pinos. Ok!
1 --> 3
1 --> 2
3 --> 2
1 --> 3
2 --> 1
2 --> 3
1 --> 3