Lista 1

Recomendações Importantes

    • A lista deve ser entregue até às 23:59:59 do dia 19/06.
    • Deixe seus programas entendíveis. Imprima mensagens para auxiliar o usuário a utilizar o seu programa.
    • Seja criativo. As mensagens do seu programa não necessitam estar iguais aos exemplos, a menos que seja especificado.
    • A lista é individual, portanto não compartilhe seus códigos com outros alunos ou os coloque em locais públicos (Pastebin, Github).
    • Não copie. Se for detectado cópia da internet ou de um colega, as LISTAS envolvidas serão completamente zeradas.
    • Alguns exemplos aqui definidos podem apresentar comentários. Note que são apenas ilustrativos.
    • A correção da Questão Desafio é booleana. Ou seja: você receberá o ponto extra do desafio caso a resposta esteja 100% correta. Qualquer erro, mesmo que seja em apenas um caso, invalidará a questão.

Questão 1

Kolomona é um surfista experiente que vive de competições e de vídeos radicais publicados na internet (sendo o segundo sua maior fonte de renda, visto que os patrocinadores se surpreendem com suas façanhas). No entanto, suas últimas publicações na web foram bastante desanimadoras e Kolomona não se destacou na última competição a qual participou. Você é um adorador do surf e sempre acompanhava o canal de Kolomona.

Com medo da possível perda de patrocínios do surfista, você decidiu fazer um programa que informa quando haverá lua cheia(visto que os ondas se tornam maiores quando próximas dessa época), com o intuito de ajudar Kolomona a se reerguer da sua má fase e manter os seus patrocinadores.

Seu programa perguntará qual foi a data da última lua cheia e então deverá disponibilizar em quais datas haverá lua cheia durante o resto do ano, levando em consideração que esta ocorre a cada 30 dias. Após serem mostradas as próximas datas de lua cheia, você deverá perguntar se o usuário deseja saber as luas cheias a partir de outra data. Seu programa deve encerrar quando o usuário digitar a palavra “Não”.

Bem-vindo ao Maredicator!
Indique a data da última lua cheia e saiba quando haverá lua cheia durante o restante do ano.

15/08/2012 //Entrada do Usuário

As datas das próximas luas cheias serão:
14/09/2012
14/10/2012
13/11/2012
13/12/2012
Deseja obter essas informações a partir de outra data?

Não //Entrada do Usuário

Obrigado por utilizar o Maredicator e até a próxima!

Questão 2

Hoje é seu aniversário e seus pais decidiram preparar uma festa na sua casa. Sabendo que você iria ficar junto dos seus amigos, eles decidiram chamar alguns dos amigos deles também para ficarem conversando enquanto você aproveita o seu dia. No entanto, o casal que é mais próximo dos seus pais e que você tem certeza que serão convidados trarão o filho pequeno deles. Você não gosta muito disso, pois ele fica reclamando o tempo todo e querendo chamar a atenção de todos, afirmando que ninguém quer brincar com ele, o que é uma dor de cabeça para você e seus amigos.

Com o intuito de distrair o garoto para que ele não fique “atrapalhando” sua festa, você, exímio programador, decidiu criar um programa onde o usuário irá digitar um número e uma palavra que será uma posição(vertical ou horizontal) e o programa deverá mostrar na tela montanhas com a dimensão da posição digitada sendo o número dado como entrada. Além disso, as montanhas terão que ter a quantidade de picos igual ao valor da entrada do usuário. Seu programa deverá parar quando for digitado “Chega de montanhas.”

Olá, aventureiro!
Quantas montanhas você quer ver?

3 //Entrada do Usuário

Em que posição(horizontal ou vertical)?

vertical //Entrada do Usuário

x x x
xxx xxx xxx
xxxxxxxxxxxxx
Deseja continuar criando montanhas?

Sim //Entrada do Usuário

Quantas montanhas você quer ver?

2 //Entrada do Usuário

Em que posição(horizontal ou vertical)?

horizontal //Entrada do Usuário

x
xx
x
xx
x
Deseja continuar criando montanhas?

Chega de montanhas. //Entrada do Usuário

Obrigado por se aventurar conosco e até a próxima!

Questão 3 - Rodízio de Veículos

O rodízio municipal de veículos de São Paulo ou também chamado de Operação Horário de Pico pela CET é uma restrição a circulação de veículos automotores na cidade de São Paulo. Implantado em 1997 com o propósito de melhorar as condições ambientais reduzindo a carga de poluentes na atmosfera, logo passou a reduzir o congestionamento nas principais vias da cidade nos horários de maior movimento. Há uma escala que determina em quais dias da semana quais veículos não podem circular. Esta escala é regida pelo último dígito da placa do veículo.” [1][1] - Wikipedia

Sabendo disso, faça um programa que ao receber o número de uma placa de carro informe qual o dia da semana que o carro estará proibido de circular

Digite uma placa: HGG-0042 //Entrada do usuário Você não pode sair de carro na segunda-feira :(

Questão 4 - Átomos da Aritmética

Escreva um programa que receberá um número inteiro N como entrada e diga se N é primo. Caso N não seja primo, informe se ele é um número perfeito. O programa só deve terminar quando N for igual à -1.

Digite um número:2    //Entrada do usuário2 é um número primo;Digite um número:66 é um número perfeito;Digite um número:8 não é um número primo nem um número perfeito;

Questão 5 - Roll-n

O Roll-n é um jogo de dados que se joga sozinho. O jogo consiste em jogar dados repetidamente até que se acerte o valor obtido no dado n vezes consecutivas (O valor de n é determinado por você no início do jogo). Após o término de uma rodada (que dura até que se acerte o valor n vezes consecutivas, ou até que o usuário digite "desistir" como entrada), o jogo deve perguntar a você se deseja continuar jogando.

Obs.: Para rolar o dado (gerando um valor aleatório entre 1 e 6), deve ser usada o método nextInt(int), da classe java.util.Random. Aproveite para estudar mais sobre a classe!

Quantas vezes o dado deverá ser repetido para vencer essa rodada?
2 // Entrada do usuário
Bem vindo ao Roll-2!
Quanto você acha que vai sair no próximo dado?

5 // Entrada do usuário

Rolando o dado...
5! Você acertou, e falta um acerto!
Quanto você acha que vai sair no próximo dado?

4 // Entrada do usuário

Rolando o dado...
3! Você errou... Agora faltam 2 acertos.
Quanto você acha que vai sair no próximo dado?
2 // Entrada do usuário
Rolando o dado...
2! Você acertou, e falta um acerto!
Quanto você acha que vai sair no próximo dado?

6 // Entrada do usuário

Rolando o dado...
6! Você venceu!
Deseja jogar de novo?

sim // Entrada do usuário

Quantas vezes o dado deverá ser repetido para vencer essa rodada?
4 // Entrada do usuário
Bem vindo ao Roll-4!
Quanto você acha que vai sair no próximo dado?

desistir // Entrada do usuário

Adeus! Volte sempre para jogar mais!

Questão 6 - Desafio

O triângulo de Pascal é um triângulo numérico infinito formado por números binomiais , onde representa o número da linha e representa o número da coluna, iniciando a contagem a partir do zero.O triângulo foi descoberto pelo matemático chinês Yang Hui, e 500 anos depois várias de suas propriedades foram estudadas pelo francês Blaise Pascal.

Cada número do triângulo de Pascal é igual à soma do número imediatamente acima e do antecessor do número de cima.

Crie um programa que tenha como entrada um número inteiro e imprima o Triângulo de Pascal até a linha determinada por esse número.

Obs: NÃO se deve usar recursão, array nem nenhuma outra estrutura parecida.

Digite até que linha você deseja que o Triângulo seja impresso:

7 //Entrada do usuário

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1