Programação Segundo trabalho prático Semestre de Inverno de 2015/2016 Neste trabalho, os alunos adquirem prática de utilização de ciclos repetitivos e arrays. Cada grupo terá que entregar no site da sua turma até 30 de Novembro, um documento (com extensão docx, doc, pdf ou txt) que descreva a solução encontrada para cada exercício, assim como os ficheiros fonte (com extensão java) das respetivas soluções devidamente comentados, comprimidos num ficheiro (com extensão zip, rar, gz, etc.). Não é permitida a definição de métodos para além do método main() nem a utilização de métodos das classes Arrays, Integer e Math do package java.lang. Para cada exercício implemente uma classe em Java, cujo nome é apresentado no exemplo de execução, que contém apenas o método main(). A resolução dos exercícios deve cumprir exatamente os exemplos apresentados. Sempre que o utilizador introduza um valor não permitido, deve ser lido novamente outro valor. É valorizada a simplicidade e eficiência das soluções que cumpram o enunciado. 1. Validar o número em numeração romana indicado pelo utilizador na linha de C:\ISEL\PG>java Roman MMVIV comando e, caso esteja válido, escrever o seu valor na base 10. MMVIV não é válido. C:\ISEL\PG>java Roman MMXIV Considere um número romano válido se só usa as letras “MDCLXVI”, apenas repete MMXIV = 2014 as letras “MCXI” até ao máximo de 3 vezes e não tem letras de valor superior à direita de outras de valor inferior, exceto nas combinações “CM”, “CD”, “XC”, “XL”, “IX” e “IV”. 2. Escrever linhas com cardinal ou espaço correspondentes aos bits a 1 ou a 0, respetivamente, nos valores indicados na base hexadecimal em cada palavra da linha de comando. Cada palavra representa uma linha e cada dígito corresponde a 4 carateres seguido de um ponto. Exemplo: E7 1110.0111. ### . ###. 3. Apresentar o calendário de um determinado mês perguntando ao utilizador o número do mês, o ano e o dia da semana do dia 1 desse mês. Caso o utilizador introduza um valor errado, o programa deve perguntar novamente. ISEL, 11 de Novembro de 2015 C:\ISEL\PG>java Print E7 98 EB 89 864 ### . ###. # #.# . ### .# ##. # .# #. # . ## . # . C:\ISEL\PG> java Calendar Mês [1..12] ? 12 Ano ? 2015 Dia da semana do dia 1 [Seg..Dom] ? T Dia da semana do dia 1 [Seg..Dom] ? Ter Dezembro de 2015 | Seg | Ter | Qua | Qui | Sex | Sáb | Dom | +-----+-----+-----+-----+-----+-----+-----+ | 1 | 2 | 3 | 4 | 5 | 6 | +-----+-----+-----+-----+-----+-----+-----+ | 7 | 8 | 9 | 10 | 11 | 12 | 13 | +-----+-----+-----+-----+-----+-----+-----+ | 14 | 15 | 16 | 17 | 18 | 19 | 20 | +-----+-----+-----+-----+-----+-----+-----+ | 21 | 22 | 23 | 24 | 25 | 26 | 27 | +-----+-----+-----+-----+-----+-----+-----+ | 28 | 29 | 30 | 31 | +-----+-----+-----+-----+