Prof. Adriano Avelar
Lab. de Programação
Exercícios 02 – Estruturas de Controle II (Continuação)
Importante: Faça as questões abaixo em um mesmo projeto no Eclipse e envie esse
projeto compactado no final da aula. Quem não enviar receberá falta.
Para todas as questões use o JOptionPane obter e exibir informações na tela. Exemplo
de como somar dois numero fornecidos pelo usuário.
public static void main(String[] args) {
String numero1 = JOptionPane.showInputDialog("Forneça um numero");
String numero2 = JOptionPane.showInputDialog("Forneça outro numero");
int n1 = Integer.parseInt(numero1);
int n2 = Integer.parseInt(numero2);
JOptionPane.showMessageDialog(null,"A soma eh: " + (n1 + n2));
}
1. Escrever um programa que leia como entradas três números inteiros que representam
dados sobre o perfil de candidatos a uma posição em uma empresa. A 1a entrada lida
representa o grau de escolaridade do candidato, e pode assumir os valores 1GRADUADO, 2-ESPECIALISTA, 3-MESTRE/DOUTOR. A 2a entrada representa o seu
último cargo, e pode assumir os valores 1-PROGRAMADOR, 2-ANALISTA e 3-GERENTE.
A 3a entrada representa o tempo de experiência do candidato na área, e pode assumir
qualquer valor maior ou igual a zero. O programa deve decidir em que cargo o
candidato se enquadra (ENGENHEIRO, ARQUITETO, GESTOR) e que nível de
gratificação (ESPECIALISTA, SENIOR) ele deve ter. Os critérios para tomar estas
decisões são:





Para ser GESTOR, o candidato deve ter sido Gerente e deve ter tido um tempo de
experiência de pelo menos 10 anos e deve ser pelo menos Especialista.
Para ser ARQUITETO, o candidato:
o Deve ter sido Gerente e deve ter tido pelo menos 05 anos de experiência
ou;
o Deve ter sido Analista e deve ter tido pelo menos 08 anos de experiência
ou;
o Deve ter sido Programador com pelo menos 10 anos de experiência e deve
ser pelo menos Especialista ou;
Para ser ENGENHEIRO, o candidato:
o Deve ter sido Gerente com menos de 05 anos e mais de 01 ano de
experiência ou;
o Deve ter sido Analista com menos de 08 e mais de 03 anos de experiência
ou;
o Deve ter sido Programador com menos de 10 anos de experiência e mais
de 05 anos de experiência;
Para ter gratificação de Especialista, o candidato deve ser pelo menos Especialista
e se enquadrar em qualquer um dos cargos descritos acima.
Para ter gratificação de Sênior, o candidato deve ter 10 ou mais anos de
experiência, ser pelo menos Especialista e se enquadrar em qualquer um dos
cargos descritos acima.
Prof. Adriano Avelar

Lab. de Programação
As saídas do programa devem ser mensagens indicando o cargo do candidato (se
ele não se enquadrar em nenhum cargo, mostrar a mensagem “NÃO SE
ENQUADRA EM CARGO”) e a gratificação do candidato (se ele não tiver
gratificação, mostrar a mensagem “NÃO POSSUI GRATIFICACAO”).
2. Escreva um programa que leia um número inteiro de três dígitos do teclado e que
descubra se o número lido é “super cinco”, mostrando a mensagem “E SUPER CINCO”
no console em caso afirmativo ou a mensagem “NÃO E SUPER CINCO” no console em
caso negativo. Um número de três dígitos é super cinco quando:




O seu 1o dígito é igual a cinco; E
Ele próprio é divisível por 5; E
A soma dos seus três dígitos resulta em um número divisível por cinco.
Se o número lido não tiver três dígitos, não verificar se o mesmo é “super cinco” e
mostrar a mensagem “NUMERO NÃO POSSUI TRES DIGITOS”.
3. Dado o código abaixo, quais as saídas no console quando o programa é executado e
são digitados os valores 11 e 12 no teclado?
int a,b;
int c = 0;
int d = 0;
double e = 0;
double f = 0;
a = Integer.parseInt(JOptionPane.showInputDialog("Forneça um numero"));
b = Integer.parseInt(JOptionPane.showInputDialog("Forneça outro numero"));
if (a <= b) {
if ((b % a) != 0) {
c = a / b;
} else {
c = b - a;
}
d = (a / 10) * (b % 10);
} else {
c = a - b;
d = (b % 10) - (a / 10);
}
e = Math.pow(a,2) + 2*b – Math.sqrt(b+4);
f = b*b + 3*a – (b%3);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
4. Dado o código abaixo, quais as saídas no console quando o programa é executado e
são digitados os valores 3, 8 e 5 no teclado?
int a;
double b,c;
double r = 0;
a = Integer.parseInt(JOptionPane.showInputDialog("Forneça o 1° numero"));
b = Double.parseDouble(JOptionPane.showInputDialog("Forneça o 2° numero"));
c = Double.parseDouble (JOptionPane.showInputDialog("Forneça o 3° numero"));
switch (a) {
Prof. Adriano Avelar
Lab. de Programação
case 2:
r = c + b;
System.out.println(“PLUS”);
break;
case 1:
r = c - b;
System.out.println(“MINUS”);
break;
case 4:
r = c * b;
System.out.println(“MULTIPLY”);
break;
case 3:
r = b / c;
System.out.println(“DIVISION”);
break;
case 5:
r = c % b;
System.out.println(“MODULE”);
break;
default:
System.out.println(“OOPS”);
break;
}
System.out.println(r);
5. Escreva um programa que leia três números inteiros do console e imprima os mesmos
em ordem decrescente. [Dica: Não é necessário usar array. ]
6. Escreva um programa em Java que leia um número inteiro de três dígitos do teclado e
que descubra:


Se o número lido é mágico. Imprimir no console a mensagem “É MÁGICO” caso o
número lido seja mágico, e a mensagem “NÃO É MÁGICO” caso contrário.
Um número é mágico quando é divisível por 5 e quando a soma dos seus dígitos é
um número divisível por 5.
7. Escreva um programa que leia um número inteiro de três dígitos do teclado e que
descubra:




Se o número lido não tem três dígitos. Neste caso, não verificar nada descrito
abaixo e mostrar a mensagem “NUMERO NÃO POSSUI TRES DIGITOS”.
Se o seu segundo dígito é par. Em caso positivo, imprimir no console a mensagem
“SEGUNDO DIGITO E PAR”. Caso contrário, imprimir no console a mensagem
“SEGUNDO DIGITO E IMPAR”.
Se a soma do seu 1º dígito com seu último digito é divisível por 9. Em caso positivo,
imprimir no console a mensagem “SOMA DIVISIVEL POR NOVE”. Caso contrário,
imprimir no console a mensagem “SOMA NÃO DIVISIVEL POR NOVE”.
Se o produto do número lido com seu 1º dígito é par. Em caso positivo, imprimir
no console a mensagem “PRODUTO E PAR”. Caso contrário, imprimir no console a
mensagem “PRODUTO E IMPAR”.
Prof. Adriano Avelar
Lab. de Programação
8. Dado o código abaixo, quais as saídas no console quando o programa é executado e
são entrados os valores 8 e 12 ?
int a,b
int c = 0;
int d = 0;
int e = 0;
int f = 0;
a = Scan.nextInt();
b = Scan.nextInt();
if (a <= b) {
if ((a / b) == 0) {
c = a + b;
} else {
c = b % a;
}
d = (a + 10) * (b - 10);
} else {
c = a - b;
d = (b + 10) * (a / 10);
}
e = c*d;
f = c/d;
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
9. Faça um programa que recebe do usuário um número de testes, e para cada teste ele:
 Gere 3 números aleatórios de 1 a 100, em seguida, calcule as suas médias
aritmética e geométrica e que verifique o maior dos dois valores, imprimindo o
mesmo na tela. Segue abaixo a formula da média geométrica.
Fórmula da Média Aritmética:
Fórmula da Média Geométrica:
10. Escreva um programa que, lidos do teclado três preços de três produtos, faça:



O cálculo da média dos três preços, se os três valores digitados forem maiores que
zero, imprimindo a mesma no console.
A impressão de uma mensagem “NUMEROS INVALIDOS NO CONSOLE”, se pelo menos
um dos três números for menor que zero. Neste caso, a mensagem deve ser mostrada
e o programa encerrado.
Verificação se um dos três números for igual a zero, o programa deve ler o mesmo do
console novamente. Caso o valor lido for menor ou igual a zero, o programa deve
terminar, imprimindo antes a mensagem “NUMEROS INVALIDOS NO CONSOLE PELA
Prof. Adriano Avelar

Lab. de Programação
SEGUNDA VEZ”. No caso do valor lido ser maior que zero, este deve substituir o valor
igual a zero e a média dos três números deve ser calculada e impressa no console.
Verificação se mais de um número for igual a zero, o programa deve mostrar a
mensagem “MAIS DE UM NUMERO IGUAL A ZERO” e encerrar o programa.
11. Escreva um programa que leia um número inteiro de dois dígitos do teclado e que
descubra:

Se a soma dos dois dígitos deste número é divisível por 3 e por 4. Em caso positivo,
mostrar a mensagem “ACHEI” no console. Em caso negativo, mostrar a mensagem
“NÃO ACHEI” no console.
12. Escreva um programa que leia um número inteiro de quatro dígitos do teclado e que
descubra:

Se o produto do primeiro e do último dígito deste número é par e maior que 6. Em
caso positivo, mostrar a mensagem “ACHEI” no console. Em caso negativo, mostrar
a mensagem “NÃO ACHEI” no console.
13. Escreva um programa que lê vários casos de testes. Para cada um ele lê um número
inteiro de dois dígitos do teclado e que:

Verifique se o número tem dois dígitos (tem que estar entre 10 e 99). Se sim,
testar se a soma dos dois dígitos deste número é ímpar e menor que 8. Em caso
positivo, mostrar a mensagem “ACHEI” no console. Em caso negativo, mostrar a
mensagem “NÃO ACHEI” no console. Se o número não tiver dois dígitos, mostrar
mensagem “NÃO TEM DOIS DIGITOS” no console.
14. Dado o código da questão 10, quais as saídas no console quando o programa é
executado e são entrados os valores 12 e 8 ?
15. Escreva uma algoritmo em java que desenhe o seguinte padrão na tela.
Download

Exercício 03 - Estruturas de Controle (Continuação)