Programação Primeiro trabalho prático Semestre de Verão de 2015/2016 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, decisão binária e decisão múltipla. 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 já usadas nas aulas, a menos que seja explicitamente indicado para usar no exercício. Em 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/1516v) até 11 de Abril, um documento (com extensão docx, pdf ou txt) que descreva a solução encontrada para cada exercício, assim como o ficheiro fonte (com extensão java) de cada exercício, devidamente comentados e comprimidos num ficheiro (com extensão zip, rar, gz, etc.). É valorizada a simplicidade das soluções que cumpram o enunciado. 1. (Tempo) Escrever em horas, minutos e segundos o tempo decorrido introduzido pelo utilizador em segundos. O programa deve apresentar as unidades no singular ou no plural e não deve apresentar as unidades não usadas. O programa não apresenta nada se o utilizador introduzir um valor menor ou igual a zero. C:\ISEL\PG>java Tempo Tempo em segundos ? 4000 1 hora, 6 minutos e 40 segundos. C:\ISEL\PG>java Tempo Tempo em segundos ? 10825 3 horas e 25 segundos. 2. (Fichas) Escrever a média das notas das três melhores fichas de PG, entre as quatro notas introduzidas pelo utilizador. As notas das fichas são valores inteiros. O programa deve escrever “Reprovado” se a média das três melhores fichas for inferior a 8 valores. C:\ISEL\PG>java Fichas Notas das 4 fichas ? 18 13 12 15 Fichas = 15.333333 C:\ISEL\PG>java Fichas Notas das 4 fichas ? 12 3 4 7 Reprovado 3. (Char) Ler um valor (entre 0 e 255) correspondente ao código de um caráter e indicar se é uma letra maiúscula, uma letra minúscula, um dígito, um símbolo (não é letra nem dígito) ou um caráter não apresentável (código maior que 126 ou menor que 33). Caso seja uma letra é indicado o número de ordem dela no alfabeto. C:\ISEL\PG>java Char C:\ISEL\PG>java Char Código? 102 Código? 37 Letra 'f' é a 6ª minúscula. Símbolo '%' 4. (Data) Apresentar o número de dias decorridos desde o início do ano até à data introduzida pelo utilizador. O programa recolhe três valores inteiros, correspondentes ao dia, mês e ano. Caso o dia ou o mês seja inválido, o programa deve assinalar esse facto. 5. (Reduzida) Apresentar os valores de m e de b da equação reduzida da reta y=mx+b que passa pelos dois pontos indicados pelo utilizador. O programa apresenta apenas o valor de x caso a reta seja vertical. C:\ISEL\PG>java Char Código? 54 Dígito '6' C:\ISEL\PG>java Char Código? 13 Não é apresentável C:\ISEL\PG>java Data Dia Mês An ? 1 13 1950 C:\ISEL\PG>java Data Dia Mês Ano? 3 10 2012 Mês fora do intervalo [1..12]. Decorreram 276 dias desde 1-1-2012. C:\ISEL\PG>java Reduzida P1 (x y)? 3.0 1 P2 (x y)? -1 -1 m=0.5 b=-0.5 6. (Quatro) Ler quatro valores inteiros e indicar quantos são diferentes (1,2,3 ou 4), quanto são pares e quantos são ímpares. ISEL, 16 de Março de 2016 C:\ISEL\PG>java Reduzida P1 (x y)? 2.3 2 P2 (x y)? 2.3 3.5 x=2.3 C:\ISEL\PG>java Quatro Valores? 32 -3 32 26 Diferentes=3, Pares=3, Impares=1.