http://thoth.cc.e.ipl.pt/classes/Pg/1314i (site de PG ) 1ª parte

Propaganda
Instituto Superior de Engenharia de Lisboa
Licenciatura em Engenharia de Electrónica e Telecomunicações e de Computadores
1ª Lista de exercícios de PROGRAMAÇÃO
Semestre de Inverno 2013-2014 (Setembro 2013)
http://thoth.cc.e.ipl.pt/classes/Pg/1314i (site de PG )
1ª parte – Exercícios que saíram no 1º trabalho prático de PG no Semestre de Verão de 2012/2013
Para cada exercício deve fazer um programa implementando uma classe em Java cujo nome é apresentado
no exemplo de execução.
A resolução dos exercícios deve cumprir exactamente os exemplos apresentados, onde se diferencia
graficamente as entradas realizadas pelo utilizador das escritas do programa.
Não é permitida a utilização de métodos das classes Math ou Character.
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.
Assuma sempre que os valores introduzidos estão correctos.
É valorizada a simplicidade das soluções que cumpram o enunciado.
1.
Escrever a média das notas das três melhores fichas, entre as quatro notas
foram introduzidas pelo utilizar. 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.
2. Apresentar a nota final de Programação dada a nota da média das três melhores fichas, do teste final e da componente prática. A nota é apresentada num valor inteiro e qualitativamente usando a tabela de conversão (10..13→Suficiente; 14..15→Bom; 16..17→Muito bom; 18..20→Excelente). É apresentado “Reprovado” mal seja detectada uma das condições de reprovação. Ver as regras da avaliação de PG em: http://thoth.cc.e.ipl.pt/classes/Pg/1314i/all/pages/regras‐de‐avaliacao/305 C:\ISEL\PG>java FichasPG
Notas das 4 fichas ? 18 13 12 15
Fichas = 15.333333
C:\ISEL\PG>java FichasPG
Notas das 4 fichas ? 12 3 4 7
Reprovado
C:\ISEL\PG>java NotaPG
Fichas ? 12,2
Teste final ? 14
Componente prática ? 14
Nota final = 14 (Bom)
C:\ISEL\PG>java NotaPG
Fichas ? 8,5
Teste final ? 6
Reprovado
3.
Faça um programa que apresenta a idade de alguém, dada a sua data de nascimento e a data corrente. As
datas são lidas no formato <dia> <mês> <ano>. O programa deve verificar se as datas introduzidas são
válidas e deve assinalar se a data de nascimento é superior à data corrente. Considere válidas as datas nas
condições (1900 < ano < 2012) , (0 < mês < 13) e (0 < dia < 32), não sendo necessário verificar o dia para
meses com menos que 31 dias. Caso a data corrente seja de aniversário devem ser dados os parabéns.
C:\ISEL\PG>java Idade nascimento ? 27 10 1975 hoje ? 19 3 2013 Tem 37 anos.
C:\ISEL\PG>java Idade nascimento ? 19 3 1975 hoje ? 19 3 2013 Parabéns, faz 41 anos. C:\ISEL\PG>java Idade nascimento ? 1 4 2013 hoje ? 19 3 2013 Data de nascimento superior.
C:\ISEL\PG>java Char
5.
Código de um caráter ? 102
Ler um código (entre 0 e 255) de um carácter
Letra 'f' é a 6ª minúscula.
C:\ISEL\PG> java Char
e indicar se é uma letra maiúscula, uma letra
Código de um caráter ? 67
minúscula, um dígito, um símbolo que não é
Letra 'C' é a 3ª maiúscula
letra nem dígito ou um carácter não
apresentável (quando o código maior que 126 ou menor que 33).
C:\ISEL\PG>java Idade nascimento ? 2 24 1977 Data inválida.
C:\ISEL\PG> java Char
Código de um caráter ? 37
Símbolo '%'
C:\ISEL\PG> java Char
Código de um caráter ? 54
Dígito '6'
C:\ISEL\PG>java Char
Código de um caráter ? 13
Caráter 13 não é apresentável
6.
Faça um programa que indica as moedas necessárias para fazer o troco de uma quantia indicada em euros.
O troco deve ter o mínimo possível de moedas e só poderá conter moedas de 1 Euro, 20 cêntimos, 5
cêntimos e 1 cêntimo.
C:\ISEL\PG>java Troco Quantia em euros ? 2.79 Troco = 2 x 1Eu + 3 x 20c + 3 x 5c + 4 x
1c
C:\ISEL\PG>java Troco Quantia em euros ? 0.50 Troco = 2 x 20c + 2 x 5c C:\ISEL\PG>java Troco Quantia em euros ? 5.02 Troco = 5 x 1Eu + 2 x 1c
C:\ISEL\PG>java Troco Quantia em euros ? 0.0 Troco =
2ª parte – Exercícios que saíram nas aulas de PG no Semestre de Verão de 2012/2013
Use funções da biblioteca matemática Math. http:// http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html
Consulte os operadores java em: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html
Para estude consulte o tutorial do java: http://docs.oracle.com/javase/tutorial/java/TOC.html
1. Elabore o programa, na linguagem java, que calcula o perímetro da circunferência e a área do círculo e
para tal deve ler do teclado o valor do raio da circunferência r. Os resultados devem ser escritos no ecrã.
Com se trata do 1º exercício “vamos dar uma ajuda”
Use o editor notepad++ site: http://notepad-plus-plus.org/ e edite o seguinte ficheiro de texto com a
extensão java Lista1Exer01Circunferencia.java que contém já as seguintes linhas e para as quais
chamamos a atenção para as notas (1), (2) e (3)
import java.util.Scanner; //(1)acesso às funções contidas em Scanner public class Lista1Exer01Circunferencia{ public static void main( String[] args ){ Scanner teclado = new Scanner(System.in);//(2)definição do objecto teclado System.out.println("digite o valor do raio "); int r = teclado.nextInt(); //(3)use da função de leitura de valor int /* ………. FALTA implementar o código java que resolve o exercício proposto…. */ } } 2. Para calcular a distância entre dois os pontos A, B usamos os seguintes valores: abcissa x1 e ordenada
y1 (ponto A), abcissa x2 e ordenada y2 (ponto B) . Elabore o programa que deverá ler do teclado os
valores dos pontos A,B e através da expressão da lei de Pitágoras calcule a distância entre este dois pontos,
fig.1 e escreva o resultado da distância no ecrã.
Use funções da biblioteca matemática Math do Java.
fig. 1
3. Elabore o programa que calcula o perímetro e a área do triângulo formado pelos pontos A,B,C (ver
fig.1) e, para tal deve ler do teclado os seguintes valores: abcissa x1, ordenada y1, abcissa x2 e ordenada
y2 para calcular a distância A, B (exercício 2) e após a distância calculada está em condições de calcular o
perímetro
e
a
área,
devendo
utilizar
a
expressão
Teorema
Heron
(Herão),
http://pt.wikipedia.org/wiki/Teorema_de_Her%C3%A3o . Apresente os resultados no ecrã.
Use funções da biblioteca matemática Math do Java.
4. Elabore o programa que Lê do teclado três valores inteiros h,m,s que significa as quantidade de
horas, minutos e segundos com o objectivo de calcular o valor total t de segundos que estão contidos
nessas horas, minutos e segundos. Deve escrever o resultado no ecrã.
5. Faça o programa que Lê do teclado um valor inteiro longo q que significa uma quantidade de
segundos com o objectivo de calcular quantas horas, minutos e segundos estão contidos nessa quantidade q.
Deve escrever os resultados no ecrã.
Nota1: este exercício é simétrico do anterior.
6. Ler do teclado dois valores inteiros inf,sup que significam os delimitadores do intervalo
[inf,sup] onde o inf<sup com o objectivo de gerar um nº aleatório a nesse intervalo. Deve escrever
o resultado no ecrã.
Use funções da biblioteca matemática Math do Java.
7. Faça o programa que calcula em que quadrante está o ponto e para o concretizar deve ler do teclado
dois valores inteiros: abcissa x1 e ordenada y1, que correspondente a um ponto localizado do eixo
cartesiano como o objectivo de o classificar em: está no 1º quadrante, ou no 2º quadrante, ou no 3º
quadrante, ou no 4º quadrante ou está sobre um qualquer dos eixos, escrevendo em console output (ecrã) a
mensagens adequada ao respectivo input.
8. Faça o programa que ajuda a empresa “da Terra à Lua” a atribuir um prémio anual aos seus
empregados trabalhadores-estudantes de acordo com as seguintes regras:
•
A verba v em € é distribuída aos 3 melhores alunos com idades compreendidas entre 30 e 40 e cuja a
classificação seja maior que 15 valores, sendo prémio de 150€.
•
Cada um recebe de acordo com a expressão: qi = r.ci/(c1+c2+c3)
Onde o r é a parte restantes, c é a classificação e o i refere-se aos empregados 1, 2 e 3
9. Elabore um programa que calcula o maior valor inteiro de entre três, sendo estes inteiros lidos do
teclado para as variáveis a, b e c, escrevendo o resultado no ecrã.
10. Elabore o programa que lê do teclado três valores inteiros l1,l2,l3 que significam três lados dum
triangulo com o objectivo de verificar se com estes valores podemos formar geometricamente um triângulo
(o maior lado tem que ser menor que a soma dos dois menores lados). Deverá escrever como resultado no
ecrã, a mensagem adequada ao input, exemplificando:
- Os valores de l1,l2,l3 não formam um triângulo;
- Os valores de l1,l2,l3 formam um triângulo e este pode ser:
- equilátero;
- isósceles;
- escaleno;
11. Ler do teclado quatro valores inteiros a,b,c,d e faça a ordenação crescente dos mesmos. Deve
escrever os resultados no ecrã.
Provérbio chinês:
“Aquele que pergunta, pode ser um tolo por cinco minutos. Aquele que deixa de perguntar, será um tolo para o resto
da vida”
Download