ALGORITMO E PROGRAMAÇÃO Profº Ricardo Ariel Correa Rabelo Lista II – Estruturas de Controle: Seqüência e Seleção 1. Faça um algoritmo para ler um número inteiro e informar se este é maior que 10. public class Questao_01 { public static void main(String[] args) { int num = Read.readInt("Informe o n°: "); if (num > 10) { Write.write(num +" é um número maior que 10"); } } } 2. Faça um algoritmo para ler dois números inteiros e informar se estes números são iguais ou diferentes. public class Questao_02 { public static void main(String[] args) { int a = Read.readInt("informe o 1° valor: "); int b = Read.readInt("informe o 2° valor: "); if (a == b) { Write.write("a e b são igual: " + a + ", " + b); }else{ Write.write("a e b são diferentes: " + a + ", " + b); } } } 3. Faça um algoritmo para ler um número inteiro e informar se o número é par ou ímpar. public class Questao_03 { public static void main(String[] args) { int num = Read.readInt("informe um numero: "); if (num % 2 == 0) { Write.write(num + " é par."); }else{ Write.write(num + " é impar."); } } } 4. Faça um algoritmo para ler dois números inteiros A e B e informar se A é divisível por B. public class Questao_04 { public static void main(String[] args) { int A = Read.readInt("informe o valor de A: "); int B = Read.readInt("informe o valor de B: "); if (A % B == 0) { Write.write("A é divisivel por B. " ); }else{ Write.write("A não é divisivel por B. " ); } } } 5. Faça um algoritmo para ler dois números inteiros e escrever o maior. public class Questao_05 { public static void main(String[] args) { int A = Read.readInt("informe o valor A: "); int B = Read.readInt("informe o valor B: "); if (A > B) { Write.write("A é maior que B: " + A + " e " + B); }else{ Write.write("B é maior que A: " + B + " e " + A); } } } 6. Faça um algoritmo para ler dois números inteiros e escrevê-los em ordem crescente. public class Questao_06 { public static void main(String[] args) { int a = Read.readInt("Informe o 1° valor: "); int b = Read.readInt("Informe o 2° valor: "); if (a < b) { Write.write("Ordem crescente: " + a + " e " + b); }else{ Write.write("Ordem crescente: " + b + " e " + a); } } } 7. Faça um algoritmo para ler duas variáveis inteiras A e B e garantir que A e B fiquem em ordem crescente, ou seja, a variável deverá armazenar o menor valor fornecido e a variável B o maior. public class Questao_07 { public static void main(String[] args) { int A = Read.readInt("informe o valor de A: "); int B = Read.readInt("informe o valor de B: "); int C; if (A < B) { Write.writeln("Valor de A: " + A); Write.writeln("Valor de B: " + B); }else{ C = A; A = B; B = C; Write.writeln("Valor de A: " + A); Write.writeln("Valor de B: " + B); } } } 8. Faça um algoritmo para ler os coeficiente de uma equação do segundo grau e escrever as suas raízes. public class Questao_08 { public static void main(String[] args) { double A = Read.readDouble("informe o valor de A: "); double B = Read.readDouble("informe o valor de B: "); double C = Read.readDouble("informe o valor de C: "); double x1, x2, delta; delta = (B*B) - 4*A*C; if (delta > 0) { x1 = (-B + Math.sqrt(delta))/2*A; x2 = (-B - Math.sqrt(delta))/2*A; Write.writeln("Valor de x1: " + x1); Write.writeln("Valor de x2: " + x2); }else{ if(delta == 0){ x1 = (-B)/2*A; Write.writeln("Valor de x1: " + x1); }else{ Write.writeln("não existem raízes Reais"); } } } } 9. Faça um algoritmo para ler três valores reais e informar se estes podem ou não formar os lados de um triângulo. Para que três valores possam formar os lados de um triângulo cada lado deve ser menor que a soma dos outros dois. public class Questao_09 { public static void main(String[] args) { int x = Read.readInt("valor x: "); int y = Read.readInt("valor y: "); int z = Read.readInt("valor z: "); if ((y+z)>x && (y+x)>z && (x+z)>y) { Write.write("Forma um triangulo."); }else{ Write.write("Não forma um triangulo."); } } } 10. Faça um algoritmo para ler três valores reais e informar se estes podem ou não formar os lados de um triângulo e qual tipo de triângulo seria: Eqüilátero, isósceles ou Escalenos. public class Questao_10 { public static void main(String[] args) { int x = Read.readInt("Informe o 1° valor: "); int y = Read.readInt("Informe o 2° valor: "); int z = Read.readInt("Informe o 3° valor: "); if ((y+z)>x && (y+x)>z && (x+z)>y) { if ((x==y) && (x==z) && (y==z)) { Write.write("Triangulo Equilatero."); }else{ if ((x==y) || (x==z) || (y==z)) { Write.write("Triangulo Isósceles."); }else{ Write.write("Triangulo Escalenos"); } } }else{ Write.write("Não forma triangulo."); } } } 11. Faça um algoritmo para ler três números positivos e escrevê-los em ordem crescente. public class Questao_11 { public static void main(String[] args) { int A = Read.readInt("Informe o 1° Valor: "); int B = Read.readInt("Informe o 2° Valor: "); int C = Read.readInt("Informe o 3° Valor: "); if ((A>0) && (B>0) && (C>0)) { if ((A < B) && (B < C)) { Write.write(A + ", "+ B + ", " + C); }else{ if ((A < C) && (C < B)) { Write.write(A + ", "+ C + ", " + B); }else{ if ((B < A) && (A < C)) { Write.write(B + ", "+ A + ", " + C); }else{ if ((B < C) && (C < A)) { Write.write(B + ", "+ C + ", " + A); }else{ if ((C < A) && (A < B)) { Write.write(C + ", "+ A + ", " + B); }else{ Write.write(C + ", "+ B + ", " + A); } } } } } } } } 12. Faça um algoritmo para ler o nome, as três notas e o número de faltas de um aluno e escrever qual a sua situação final: Aprovado, Reprovado por Falta ou Reprovado por Média. A média para aprovação é 5,0 e o limite de faltas é 27. A reprovação por falta sobrepõe a reprovação por Média. public class Questao_12 { public static void main(String[] args) { String Nome = Read.readString("Nome do Aluno: "); double Nota1 = Read.readDouble("Informe a 1ª Nota: "); double Nota2 = Read.readDouble("Informe a 2ª Nota: "); double Nota3 = Read.readDouble("Informe a 3ª Nota: "); double Faltas = Read.readDouble("Informe o n° de faltas: "); double Media; Media = (Nota1 + Nota2 + Nota3)/3; if(Media>=5){ if (Faltas<27) { Write.writeln("Aluno: " + Nome); Write.writeln("Média: " + Media); Write.writeln("Esta aprovado!"); }else{ Write.writeln("Aluno: " + Nome); Write.writeln("Média: " + Media); Write.writeln("Esta Reprovado por falta!"); } }else{ Write.writeln("Aluno: " + Nome); Write.writeln("Média: " + Media); Write.writeln("Esta Reprovado por Média!"); } } } 13. Faça um algoritmo para ler um salário e atualizá-lo de acordo com a tabela abaixo. FAIXA SALARIAL AUMENTO até 500,00 50% 500,01 a 1.000,00 40% 1000,01 a 2.000,00 30% 2000,01 a 2.5000,00 20% cima de 2.500,00 10% public class Questao_13 { public static void main(String[] args) { double salario = Read.readDouble("Informe o Salário: "); double aumento = 0; if (salario<=500) { aumento = ((salario*50)/100) + salario; }else{ if ((salario>500) && (salario<=1000)) { aumento = ((salario*40)/100) + salario; }else{ if ((salario>1000) && (salario<=2000)) { aumento = ((salario*30)/100) + salario; }else{ if ((salario>2000) && (salario<=2500)) { aumento = ((salario*20)/100) + salario; }else{ if (salario>2500) { aumento = ((salario*10)/100) + salario; } } } } } Write.write("Aumento: " + aumento); } }