Lista de Exercícios para treinar Lógica de Programação.
Pedro Borges Dev
Posted on July 31, 2024
Deixo para todos da comunidade uma lista de exercícios para treinar a Lógica de Programação.
(deixo minha resolução de cada um, usando a linguagem Java)
Exercícios
1 - Faça um algoritmo que leia os valores de A, B, C e em seguida imprima na tela a soma entre A e B é mostre se a soma é menor que C.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Write a value of A:");
Scanner integerScanner = new Scanner(System.in);
int A = Integer.parseInt(integerScanner.next());
System.out.println("Write a value of B:");
int B = Integer.parseInt(integerScanner.next());
System.out.println("Write a value of C:");
int C = Integer.parseInt(integerScanner.next());
int sum = A + B ;
if (sum <= C){
System.out.println("The result of value A + B is: " + sum + ";\nThe sum of A + B is less or equal value C");
}
else{
System.out.println("The result of value A + B is: " + sum + ";\nThe sum of A + B dont is less or equal value C");
}
}
}
2 - Faça um algoritmo para receber um número qualquer e imprimir na tela se o número é par ou ímpar, positivo ou negativo.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Write a number:");
Scanner integerScanner = new Scanner(System.in);
int number = Integer.parseInt(integerScanner.next());
if (number >=0){
if (number % 2 == 0){
System.out.println("The number " + number + " is 'even' = par and positive");
} else System.out.println("The number " + number + " is 'odd' = impar and positive");
} else {
if (number % 2 == 0){
System.out.println("The number " + number + " is 'even' = par and negative");
} else
System.out.println("The number " + number + " is 'odd' = impar and negative");
}
}
}
3 - Faça um algoritmo que leia dois valores inteiros A e B, se os valores de A e B forem iguais, deverá somar os dois valores,
caso contrário devera multiplicar A por B. Ao final de qualquer um dos cálculos deve-se atribuir o resultado a uma variável C e
imprimir seu valor na tela.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Write your first value:");
Scanner integerScanner = new Scanner(System.in);
int A = integerScanner.nextInt();
System.out.println("Write your second value:");
int B = integerScanner.nextInt();
int C;
if (A == B){
C = A + B;
System.out.println("The sum off A + B is: " + C);
} else {
C = (A * B);
System.out.println("The multiple of A x B is: " + C);
}
}
}
4 - Faça um algoritmo que receba um número inteiro e imprima na tela o seu antecessor e o seu sucessor.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner integerScanner = new Scanner(System.in);
System.out.println("Write your number: ");
int number = integerScanner.nextInt();
int nextNumber = number + 1;
int previousNumber = number - 1;
System.out.println("The next number is: " + nextNumber);
System.out.println("The previous number is: " + previousNumber);
}
}
5 - Faça um algoritmo que leia o valor do salário mínimo e o valor do salário de um usuário, calcule quantos salários mínimos esse
usuário ganha e imprima na tela o resultado. (Base para o Salário mínimo R$ 1.293,20).
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner doubleScanner = new Scanner(System.in);
System.out.println("Write your salario: ");
double salarioMin = 1293.20;
double salario = doubleScanner.nextDouble();
double total = salario / salarioMin;
System.out.printf("the salario is: %.2fx o salario min" , total);
}
}
6 - Faça um algoritmo que leia um valor qualquer e imprima na tela com um reajuste de 5%.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Write a value: ");
double a = scanner.nextDouble();
double total = a *.05;
double result = a + total;
System.out.printf("the value with 5%% increase is: %.2f" , result);
}
}
7 - Faça um algoritmo que leia dois valores booleanos (lógicos) e determine se ambos são VERDADEIRO ou FALSO.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Write a boolean value: ");
boolean value1 = scanner.nextBoolean();
System.out.print("Write other boolean value: ");
boolean value2 = scanner.nextBoolean();
if (value1 && value2){
System.out.println("values are true");
} else if (!value1 && !value2){
System.out.println("values are false");
} else {
System.out.println("value are different");
}
}
}
8 - Faça um algoritmo que leia três valores inteiros diferentes e imprima na tela os valores em ordem decrescente.
package org.example;
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Write your first value");
int value1 = scanner.nextInt();
System.out.println("Write your second value");
int value2 = scanner.nextInt();
System.out.println("Write your third value");
int value3 = scanner.nextInt();
int[] values = {value1, value2, value3};
Arrays.sort(values);
System.out.println("Values in descending order:");
for (int i = values.length - 1; i >= 0; i--) {
System.out.print(values[i] + " ");
}
}
}
9 - Faça um algoritmo que calcule o IMC (Índice de Massa Corporal) de uma pessoa, leia o seu peso e sua altura e imprima na tela sua condição
de acordo com a tabela abaixo:
Fórmula do IMC = peso / (altura) ²
Tabela Condições IMC
Abaixo de 18,5 | Abaixo do peso
Entre 18,6 e 24,9 | Peso ideal (parabéns)
Entre 25,0 e 29,9 | Levemente acima do peso
Entre 30,0 e 34,9 | Obesidade grau I
Entre 35,0 e 39,9 | Obesidade grau II (severa)
Maior ou igual a 40 | Obesidade grau III (mórbida)
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("digite seu peso:");
double peso = scan.nextDouble();
System.out.print("digite sua altura:");
double altura = scan.nextDouble();
double alturaElevada = Math.pow(altura, 2.0);
double imc = peso / alturaElevada;
if (imc <=18.5){
System.out.println("Abaixo do peso" + " seu imc eh: " + imc );
} else if ( imc>=18.6 && imc <=24.9){
System.out.println("Peso ideal (parabéns)" + " seu imc eh:" + imc);
} else if (imc >=25.0 && imc <=29.9){
System.out.println("Levemente acima do peso" + " seu imc eh:" + imc);
} else if (imc >= 30.0 && imc <= 34.9){
System.out.println("Obesidade grau I" + " seu imc eh:" + imc);
} else if (imc >=35 && imc<=39.9){
System.out.println("Obesidade grau II (severa)" + " seu imc eh:" + imc);
} else {
System.out.println("Obesidade grau III (mórbida)" + " seu imc eh:" + imc);
}
}
}
10 - Faça um algoritmo que leia três notas obtidas por um aluno, e imprima na tela a média das notas.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Write your first grade");
Scanner integerScanner = new Scanner(System.in);
int grade = Integer.parseInt(integerScanner.next());
System.out.println("Write your second grade");
int grade2 = Integer.parseInt(integerScanner.next());
System.out.println("Write your third grade");
int grade3 = Integer.parseInt(integerScanner.next());
int sum = grade3 + grade + grade2;
float result = (float)sum /3;
System.out.printf("Your average grade is: %.1f" , result);
}
}
11 - Faça um algoritmo que leia quatro notas obtidas por um aluno, calcule a média das nota obtidas, imprima na tela o nome do aluno e
se o aluno foi aprovado ou reprovado. Para o aluno ser considerado aprovado sua média final deve ser maior ou igual a 7.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("escreva seu nome");
String nome = scan.next();
System.out.println("escreva suas 4 notas");
double nota1 = scan.nextDouble();
double nota2 = scan.nextDouble();
double nota3 = scan.nextDouble();
double nota4 = scan.nextDouble();
double soma = nota4 + nota3 + nota2 + nota1;
double media = soma / 4;
if (media > 6.9) {
System.out.printf("Parabens, %s voce foi aprovado, sua media foi %.1f", nome, media);
} else {
System.out.printf("Poxa, %s voce foi reprovado, sua media foi %.1f", nome, media);
}
}
}
12 - Faça um algoritmo que leia o valor de um produto e determine o valor que deve ser pago, conforme a escolha da forma de pagamento
pelo comprador e imprima na tela o valor final do produto a ser pago. Utilize os códigos da tabela de condições de pagamento para efetuar o cálculo adequado.
Tabela de Código de Condições de Pagamento
1 - À Vista em Dinheiro ou Pix, recebe 15% de desconto
2 - À Vista no cartão de crédito, recebe 10% de desconto
3 - Parcelado no cartão em duas vezes, preço normal do produto sem juros
4 - Parcelado no cartão em três vezes ou mais, preço normal do produto mais juros de 10%
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String product = "iPhone 15 128Gb";
double valueOfProduct = 4860.00;
System.out.printf("Produtos no estoque: %s Valor: %.2f%n%n", product, valueOfProduct);
System.out.println("1 - À Vista em Dinheiro ou Pix, recebe 15% de desconto");
System.out.println("2 - À Vista no cartão de crédito, recebe 10% de desconto");
System.out.println("3 - Parcelado no cartão em duas vezes, preço normal do produto sem juros");
System.out.println("4 - Parcelado no cartão em três vezes ou mais, preço normal do produto mais juros de 10%*/");
System.out.println("Escolha uma das 4 opcoes pra pagar");
int option = scan.nextInt();
if (option == 1){
double sum = (valueOfProduct * 15) / 100;
double result = valueOfProduct - sum;
System.out.printf("valor do produto com 15%% a vista no pix ou dinheiro eh: %.2f", result);
} else if (option == 2){
double sum = (valueOfProduct * 10) / 100;
double result = valueOfProduct - sum;
System.out.printf("valor do produto com 10%% de desconto a vista no cartao eh: %.2f", result);
} else if (option == 3) {
System.out.printf("o produto parcelado em ate 2x nao tem deconto, valor = %.2f",valueOfProduct);
} else if (option == 4) {
double sum = (valueOfProduct * 1.10);
System.out.printf("valor do produto com 10%% de juros parcelado em 3x ou mais no cartao eh: %.2f", sum);
} else {
System.out.println("excepted, voce escolheu uma opcao que nao existe");
}
scan.close();
}
}
13 - Faça algoritmo que leia o nome e a idade de uma peso e imprima na tela o nome da pessoa e se ela é maior ou menor de idade.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Digite seu nome");
Scanner scan = new Scanner(System.in);
String name = scan.next();
System.out.println("Digite sua idade");
byte age = scan.nextByte();
if (age > 17){
System.out.printf("Seu nome eh %s e voce eh maior de idade", name);
} else {
System.out.printf("Seu nome eh %s e voce eh menor de idade", name);
}
scan.close();
}
}
14 - Faça um algoritmo que receba um valor A e B, e troque o valor de A por B e o valor de B por A e imprima na tela os valores.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Digite o valor de A");
int valorDeA = scan.nextInt();
System.out.println("Digite o valor de B");
int valorDeB = scan.nextInt();
int temp = valorDeA;
valorDeA = valorDeB;
valorDeB = temp;
System.out.printf("o Valor de A trocado pelo valor de B eh %d%n E %n", valorDeA);
System.out.printf("o Valor de B trocado pelo valor de A eh %d", valorDeB);
}
}
15 - Faça um algoritmo que leia o ano em que uma pessoa nasceu, imprima na tela quantos anos, meses e dias essa pessoa ja viveu. Leve em
consideração o ano com 365 dias e o mês com 30 dias.
(Ex: 5 anos, 2 meses e 15 dias de vida)
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Coloque o ano em que voce nasceu: ");
Scanner scan = new Scanner(System.in);
int year = scan.nextInt();
int yearActual = 2024;
int years = yearActual - year;
int totalDays = years * 365;
int daysInLastYear = (totalDays % 365);
int month = (daysInLastYear / 30);
int days = daysInLastYear % 30;
System.out.printf("%d anos, %d meses e %d dias de vida", years, month, days);
}
}
16 - Faça um algoritmo que leia três valores que representam os três lados de um triângulo e verifique se são válidos, determine se o triângulo é
equilátero, isósceles ou escaleno.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Escreva o primeiro valor do triangulo: ");
int lado1 = scan.nextInt();
System.out.println("Escreva o primeiro valor do triangulo: ");
int lado2 = scan.nextInt();
System.out.println("Escreva o primeiro valor do triangulo: ");
int lado3 = scan.nextInt();
if (lado1 + lado2 > lado3 && lado1 + lado3 > lado2 && lado2 + lado3 > lado1) {
if (lado1 == lado2 && lado2 == lado3) {
System.out.println("O triangulo eh equilatero");
} else if (lado1 == lado2 || lado2 == lado3 || lado3 == lado1) {
System.out.println("O triangulo eh isoceles");
} else {
System.out.println("O triangulo eh Escaleno");
}
}else {
System.out.println("Os valores não formam um triângulo válido.");
}
scan.close();
}
}
17 - Faça um algoritmo que leia uma temperatura em Fahrenheit e calcule a temperatura correspondente em grau Celsius. Imprima na tela as duas temperaturas.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Digite a temperatura em Fahrenheit: ");
double F = scan.nextDouble();
double C = 5 * (F - 32) / 9;
System.out.printf("a temperatura em Fahrenheit eh: %.2f%n", F );
System.out.printf("a temperatura em Graus eh: %.2f", C );
}
}
Fórmula: C = (5 * ( F-32) / 9)
18 - Francisco tem 1,50m e cresce 2 centímetros por ano, enquanto Sara tem 1,10m e cresce 3 centímetros por ano. Faça um algoritmo que calcule e imprima na tela em quantos anos serão necessários para que Francisco seja maior que Sara.
Em breve
19 - Faça um algoritmo que imprima na tela a tabuada de 1 até 10.
package org.example;
public class Main {
public static void main(String[] args) {
int num = 1;
while (num < 11) {
for (int i = 0; i <= 10; i++) {
int result = num * i;
System.out.println(num + " X " + i + " = " + result);
}
num = num + 1; //ou num++
System.out.println(); //aqui linha em branco pra separar as tabuadas
}
}
}
20 - Faça um algoritmo que receba um valor inteiro e imprima na tela a sua tabuada.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Digite o numero que deseja ver a tabuada: ");
int num = scan.nextInt();
System.out.printf("A tabuada do numero %d eh:%n", num);
for (int i =0; i < 11; i++) {
int result = num * i;
System.out.println(num + " X " + i + " = " + result);
}
}
}
21 - Faça um algoritmo que mostre um valor aleatório entre 0 e 100.
package org.example;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random ram = new Random();
int num = ram.nextInt(0, 101);
System.out.println(num);
}
}
22 - Faça um algoritmo que leia dois valores inteiros A e B, imprima na tela o quociente e o resto da divisão inteira entre eles.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Digite um num: ");
int A = scan.nextInt();
System.out.println("Digite outro num: ");
int B = scan.nextInt();
int result = A / B;
int resto = A % B;
System.out.println(" O Quociente de " + A + " dividido por " + B + " eh " + result);
System.out.println(" O Resto de " + A + " dividido por " + B + " eh " + resto);
}
}
23 - Faça um algoritmo que efetue o cálculo do salário líquido de um professor. As informações fornecidas serão: valor da hora aula, número de aulas lecionadas no mês e percentual de desconto do INSS. Imprima na tela o salário líquido final.
Em breve
24 - Faça um algoritmo que calcule a quantidade de litros de combustível gastos em uma viagem, sabendo que o carro faz 12km com um litro. Deve-se fornecer ao usuário o tempo que será gasto na viagem a sua velocidade média, distância percorrida e a quantidade de litros utilizados para fazer a viagem.
Fórmula: distância = tempo x velocidade.
litros usados = distância / 12.
Em breve
Créditos:
Todos os exercícios da lista acima foram obtidos da DIO.
Link: https://www.dio.me/articles/lista-de-exercicios-para-treinar-logica-de-programacao
Posted on July 31, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.