Programação

Propaganda
Programação
Primeiro trabalho prático
Semestre de Inverno de 2013/2014
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 dos exercícios deve cumprir exatamente os exemplos apresentados, 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á no site da sua turma (http://thoth.cc.e.ipl.pt/classes/Pg/1314i/) até 23 de Outubro, 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.
C:\ISEL\PG>java Num
Valor (0..999) ? 342 <┘
342 = 3 X 100 + 4 X 10 + 2
C:\ISEL\PG>java Num
Valor (0..999) ? 50<┘
50 = 0 X 100 + 5 X 10 + 0
1.
Escrever em centenas, dezenas e unidades um valor (entre 0 e 999) introduzido pelo
utilizador.
2.
Escrever a equação reduzida da reta (y = m x + b) que passa
por dois pontos (x1,y1) e (x2,y2) introduzidos pelo utilizador.
Na equação reduzida, m é o declive da reta e é obtido com a
expressão m = (y1-y2) / (x1-x2) e b é a ordenada na origem e
é obtida com b = y1 – m x1 ou b = y2 – m x2. Quando o
declive é infinito a equação da reta será (x = c)
3.
C:\ISEL\PG>java Reduzida
Ponto 1: x1 y1 ? 1 5,9<┘
Ponto 2: x2 y2 ? 0 3,2<┘
y = 2.7 x + 3.2
C:\ISEL\PG>java Reduzida
Ponto 1: x1 y1 ? 3 6,9<┘
Ponto 2: x2 y2 ? 3 10 <┘
x = 3.0
Fazer a simulação do lançamento de dois dados num jogo de
tabuleiro gerando valores pseudoaleatórios com o método
random() da classe Math. Só é mostrado o segundo dado lançado
após o utilizador premir a tecla “Enter”. No final é mostrada a soma
dos dados, que deverá ser dobrada se os dois valores forem iguais.
4.
Ler 4 valores inteiros e indicar
quantos são iguais, quantos são
pares e quantos são ímpares.
C:\ISEL\PG>java Count4
4 valores ? 3 2 8 2<┘
Iguais: 2 Pares: 3 Impares: 1
5.
Ler a hora de partida e de chegada de uma viagem e
apresentar a duração.
A partida, a chegada e a duração são indicados em
horas, minutos e segundos. O programa deve verificar
se a partida e a chegada são válidas e deve assinalar
se a partida é superior à chegada.
C:\ISEL\PG>java Reduzida
Ponto 1: x1 y1 ? 1
1<┘
Ponto 2: x2 y2 ? 0 0<┘
y = 1.0 x + 0.0
C:\ISEL\PG>java Reduzida
Ponto 1: x1 y1 ? 3 2,7<┘
Ponto 2: x2 y2 ? 0 2,7<┘
y = 0.0 x + 2.7
C:\ISEL\PG>java Dados
Dado 1: [1]
Prima enter <┘
Dado 2: [6]
Total = 7
C:\ISEL\PG>java Count4
4 valores ? 30 5 5 30<┘
Iguais: 4 Pares: 2 Impares: 2
C:\ISEL\PG>java Viagem
Partida: H M S ? 7 50 25<┘
Chegada: H M S ? 14 25 12<┘
Duração = 6 : 34 : 47
C:\ISEL\PG>java Viagem
Partida: H M S ? 7 50 25<┘
Chegada: H M S ? 4 20 58<┘
Partida superior à chegada
C:\ISEL\PG>java Dados
Dado 1: [3]
Prima enter ok <┘
Dado 2: [3]
Total = 12
C:\ISEL\PG>java Count4
4 valores ? 31 5 9 11 <┘
Iguais: 0 Pares: 0 Impares: 4
C:\ISEL\PG>java Viagem
Partida: H M S ? 2 63 25<┘
Hora de partida inválida
C:\ISEL\PG>java Viagem
Partida: H M S ? 7 50 25<┘
Chegada: H M S ? 25 0 0<┘
Hora de chegada inválida
ISEL, 1 de Outubro de 2013
Download