Programação

Propaganda
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 |
+-----+-----+-----+-----+
Download