DEV Community

Cover image for Lista de Exercícios para treinar Lógica de Programação.
Pedro Borges Dev
Pedro Borges Dev

Posted on • Updated on

Lista de Exercícios para treinar Lógica de Programação.

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");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

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");

        }
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
    }
}
Enter fullscreen mode Exit fullscreen mode

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");
    }
    }
}
Enter fullscreen mode Exit fullscreen mode

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] + " ");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
       }
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

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();
    }
}
Enter fullscreen mode Exit fullscreen mode

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();
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
        }
    }
Enter fullscreen mode Exit fullscreen mode

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();
    }
}
Enter fullscreen mode Exit fullscreen mode

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 );
    }
}
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

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);
    }
}
Enter fullscreen mode Exit fullscreen mode

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

Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

Top comments (0)