DEV Community

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

Posted on • Edited on

14

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

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay