Programação

Propaganda
Programação
Primeiro trabalho prático
Semestre de Inverno de 2016/2017
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 ponto em
vez de vírgula 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/1617i) até 7 de novembro,
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, comprimidos num ficheiro (com
extensão zip, rar, gz, etc.). É valorizada a simplicidade das soluções que cumpram o enunciado.
1. (KByte)
Ler um valor real em Kilobytes e apresentar o valor inteiro equivalente em bytes.
Caso o resultado não seja um número inteiro de bytes deve ser apresentado o inteiro
mais próximo. Por exemplo: 0,2 KByte = 205 Byte.
C:\ISEL\PG>java KByte
Valor em KBytes? 512,75
512,75 KByte = 525056 Byte.
2. (Triang)
Ler os três comprimentos dos lados de um triângulo e apresentar o seu tipo quanto aos
lados: equilátero, isósceles ou escaleno.
Assuma que cada valor é um inteiro e menor que a soma dos outros dois.
O programa só pode fazer, no máximo, três comparações entre inteiros.
3. (DigitChar)
Ler um caráter e um valor inteiro e, caso o caráter seja um dígito, apresentar o caráter que
corresponde à soma do valor inteiro e o código UNICODE do dígito. Se o caráter não for um
dígito escrever apenas uma mensagem que indica esse facto.
4. (Greeting)
Perguntar a hora e o nome do utilizador e apresentar a mensagem de
cumprimento (Bom dia, Boa tarde ou Boa noite) conforme a hora. Considere que
a hora introduzida é um valor inteiro entre 0 e 23. Caso seja lida a palavra “auto”
(ou outra qualquer) em vez de um valor inteiro, o programa deve utilizar a hora
atual, obtida através pela expressão LocalTime.now().getHour() usando a
classe LocalTime do package java.time.
C:\ISEL\PG>java Triang
Valores dos lados? 3 3 5
Triângulo isósceles
C:\ISEL\PG>java DigitChar
Digito e Valor? 5 11
'5'(53) + 11 = '@'(64)
C:\ISEL\PG>java DigitChar
Digito e Valor? F 13
F não é dígito.
C:\ISEL\PG>java Greeting
Hora (auto)? 15
Nome? Ana
C:\ISEL\PG>java Greeting
Boa tarde Ana Hora (auto)? auto
Nome? Luís Miguel
Boa noite Luís Miguel
5. (FichasPG)
C:\ISEL\PG>java FichasPG
Ler a nota das 3 ou 4 fichas já realizadas em PG, apresentar as notas das 3 melhores por Fichas realizadas? 3
ordem decrescente e a respetiva média. Caso tenham sido realizadas 3 fichas, deve ser Notas das 3 fichas? 12 6 11
indicada a nota mínima da 4ª ficha “… para não reprovar” ou “… C:\ISEL\PG>java FichasPG Média=(12+11+6)/3 = 9.666667
ficha4 > 6 para melhorar a média
para melhorar a média”. Caso não seja já possível ter média Fichas realizadas? 4
superior ou igual a 8 valores, o programa deve escrever Notas das 4 fichas? 12 6 11 15
“Reprovado”.
Média=(15+12+11)/3 = 12.666667
6. (YearDays)
Ler uma data e apresentar o número de dias que passaram desde o início desse ano até essa
data. Um ano é bissexto se for múltiplo de 4 exceto se for múltiplo de 100 e não de 400.
ISEL, 10 de outubro de 2015
C:\ISEL\PG>java YearDays
Dia Mês Ano? 9 10 2016
282 dias desde 1/1/2016
Download