Programação Primeiro trabalho prático Semestre de Inverno de 2014/2015 Neste trabalho, os alunos adquirem prática de utilização de elementos essenciais da linguagem Java, nomeadamente variáveis, expressões, tipos primitivos, instruções de entrada e de saída de dados e decisão binária. Na resolução destes exercícios não poderão usar elementos da linguagem que não constam na primeira parte da matéria desta unidade curricular, nomeadamente é proibida a utilização de ciclos repetitivos, arrays, métodos da classe Math ou qualquer outra classe da API do JAVA que não foram usadas nas aulas, durante a primeira parte da matéria, e que não sejam explicitamente indicadas no exercício. Para cada exercício implemente uma classe em Java cujo nome é apresentado no exemplo de execução. A resolução de cada exercício deve cumprir exatamente o exemplo apresentado, onde se diferencia graficamente as escritas do programa das entradas realizadas pelo utilizador. Assuma que os valores introduzidos estão corretos. Dependendo da língua configurada no sistema operativo, os valores reais podem ser lidos e escritos usando vírgula em vez de ponto na separação das casas decimais. Cada grupo entregará na página do Thoth da sua turma (http://thoth.cc.e.ipl.pt/classes/Pg/1415i) até 3 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 (apenas os que têm extensão java) das respetivas soluções, devidamente comentados, comprimidos num ficheiro (com extensão zip, rar, gz, etc.). É valorizada a simplicidade das soluções que cumpram o enunciado. 1. Ler três valores inteiros com o número de partidas jogadas, de vitórias e de derrotas. Ler também o nome da equipa e depois escrever a pontuação dessa equipa. Cada vitória, empate e derrota vale 3, 1 e zero pontos, respetivamente. 2. Apresentar o valor da hipotenusa de um triângulo retângulo a partir dos valores dos catetos. Os valores dos catetos devem ser positivos e diferentes de zero, caso contrário o programa escreve “Catetos inválidos” em vez da hipotenusa. Da classe Math apenas pode ser usado o método sqrt(). 3. Ler um valor em bytes e escreve-lo em parcelas de Giga bytes (GB), Mega bytes (MB), Kilo bytes (KB) e bytes, apresentando apenas as parcelas diferentes de zero. De notar que apenas a parcela GB pode ser superior a 1024. 4. Ler 4 valores inteiros e escrever qual a maior diferença entre eles. 5. Ler um caráter, apresentar o seu código em UNICODE e caso seja uma letra maiúscula ou minúscula indicar o número de ordem no alfabeto. C:\ISEL\PG>java PrimeiraLiga Partidas jogadas? 7 Vitórias e derrotas? 3 3 Nome da equipa? Rio Ave Rio Ave tem 10 pontos. C:\ISEL\PG>java Pitagoras Catetos ? 3,42 5,2 Hipotenusa = 6.223857 C:\ISEL\PG>java Pitagoras Catetos ? 0 5,2 Catetos inválidos C:\ISEL\PG>java Bytes Bytes ? 3434901120028 3199 GB + 1001 KB + 28 bytes C:\ISEL\PG>java MaiorDif 4 valores ? 65 27 -13 33 Maior diferença = 78 C:\ISEL\PG>java Char C:\ISEL\PG>java Char Caráter ? d Caráter ? 3 UNICODE=100 UNICODE=51 4ª letra do alfabeto. 6. Apresentar a hora de chegada de uma viagem dada a hora de partida e a duração. A partida, a duração e a chegada são sempre indicados em C:\ISEL\PG>java Viagem horas e minutos, podendo a duração ser superior a 24 horas. Caso a Partida (H M) ? 19 30 chegada não seja no mesmo dia o programa deve indicar quantos Duração (H M) ? 49 25 Chegada às 20:55 dias depois. 2 dia(s) depois ISEL, 10 de Outubro de 2014 C:\ISEL\PG>java Viagem Partida (H M) ? 8 30 Duração (H M) ? 7 42 Chegada às 16:12