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);
}
}
Download

Algoritmo 2