image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Marcos Silva
Marcos Silva30/07/2025 21:22
Share
Suzano - Python Developer #2Recommended for youSuzano - Python Developer #2

Desafios de Código: Aprimore Sua Lógica e Pensamento Computacional

    No universo tech, a habilidade mais valiosa não é saber a linguagem do momento, mas saber pensar como um desenvolvedor. Fortalecer sua base lógica, independente da linguagem.

    E se você acha que lógica é só “teoria chata”, calma lá! Vamos aplicar conceitos com exemplos reais, resolvendo os mesmos desafios em Java, C#, Python e JavaScript.

    🧠 O que é Pensamento Computacional?

    É a habilidade de resolver problemas de forma estruturada, dividindo em partes menores, analisando padrões e criando soluções passo a passo – exatamente como um computador faria, só que com o toque humano de criatividade.

    ⚙️ Desafio 1 – Par ou Ímpar

    🎯 Objetivo:

    Receber um número inteiro e imprimir se ele é Par ou Ímpar.

    💻 Java

    java
    CopiarEditar
    import java.util.Scanner;
    
    public class ParOuImpar {
      public static void main(String[] args) {
          Scanner sc = new Scanner(System.in);
          int numero = sc.nextInt();
    
          if (numero % 2 == 0) {
              System.out.println("Par");
          } else {
              System.out.println("Ímpar");
          }
      }
    }
    

    💻 C#

    csharp
    CopiarEditar
    using System;
    
    class Program {
      static void Main() {
          int numero = int.Parse(Console.ReadLine());
    
          if (numero % 2 == 0) {
              Console.WriteLine("Par");
          } else {
              Console.WriteLine("Ímpar");
          }
      }
    }
    

    💻 Python

    python
    CopiarEditar
    numero = int(input())
    
    if numero % 2 == 0:
      print("Par")
    else:
      print("Ímpar")
    

    💻 JavaScript

    javascript
    CopiarEditar
    const numero = parseInt(prompt("Digite um número:"));
    
    if (numero % 2 === 0) {
      console.log("Par");
    } else {
      console.log("Ímpar");
    }
    

    ⚙️ Desafio 2 – Soma dos Elementos de um Array

    🎯 Objetivo:

    Receber um array de inteiros e retornar a soma total dos elementos.

    💻 Java

    java
    CopiarEditar
    public class SomaArray {
      public static void main(String[] args) {
          int[] numeros = {10, 20, 30, 40};
          int soma = 0;
    
          for (int n : numeros) {
              soma += n;
          }
    
          System.out.println("Soma: " + soma);
      }
    }
    

    💻 C#

    csharp
    CopiarEditar
    using System;
    
    class Program {
      static void Main() {
          int[] numeros = {10, 20, 30, 40};
          int soma = 0;
    
          foreach (int n in numeros) {
              soma += n;
          }
    
          Console.WriteLine("Soma: " + soma);
      }
    }
    

    💻 Python

    python
    CopiarEditar
    numeros = [10, 20, 30, 40]
    soma = sum(numeros)
    
    print(f"Soma: {soma}")
    

    💻 JavaScript

    javascript
    CopiarEditar
    const numeros = [10, 20, 30, 40];
    const soma = numeros.reduce((acc, val) => acc + val, 0);
    
    console.log("Soma:", soma);
    

    ⚙️ Desafio 3 – FizzBuzz

    🎯 Objetivo:

    Para números de 1 a 20:

    • Se for múltiplo de 3: imprimir "Fizz"
    • Se for múltiplo de 5: imprimir "Buzz"
    • Se for múltiplo de ambos: "FizzBuzz"
    • Senão, imprimir o número

    💻 Java

    java
    CopiarEditar
    public class FizzBuzz {
      public static void main(String[] args) {
          for (int i = 1; i <= 20; i++) {
              if (i % 3 == 0 && i % 5 == 0) {
                  System.out.println("FizzBuzz");
              } else if (i % 3 == 0) {
                  System.out.println("Fizz");
              } else if (i % 5 == 0) {
                  System.out.println("Buzz");
              } else {
                  System.out.println(i);
              }
          }
      }
    }
    

    💻 C#

    csharp
    CopiarEditar
    using System;
    
    class Program {
      static void Main() {
          for (int i = 1; i <= 20; i++) {
              if (i % 3 == 0 && i % 5 == 0)
                  Console.WriteLine("FizzBuzz");
              else if (i % 3 == 0)
                  Console.WriteLine("Fizz");
              else if (i % 5 == 0)
                  Console.WriteLine("Buzz");
              else
                  Console.WriteLine(i);
          }
      }
    }
    

    💻 Python

    python
    CopiarEditar
    for i in range(1, 21):
      if i % 3 == 0 and i % 5 == 0:
          print("FizzBuzz")
      elif i % 3 == 0:
          print("Fizz")
      elif i % 5 == 0:
          print("Buzz")
      else:
          print(i)
    

    💻 JavaScript

    javascript
    CopiarEditar
    for (let i = 1; i <= 20; i++) {
      if (i % 3 === 0 && i % 5 === 0) {
          console.log("FizzBuzz");
      } else if (i % 3 === 0) {
          console.log("Fizz");
      } else if (i % 5 === 0) {
          console.log("Buzz");
      } else {
          console.log(i);
      }
    }
    

    💬 Conclusão

    Treinar lógica e pensamento computacional é o equivalente a construir o alicerce de um prédio. Pode parecer básico, mas sem isso tudo desaba.

    A beleza dos desafios de código está justamente na sua simplicidade que engana. Quanto mais você pratica, mais você domina a arte de transformar problemas complexos em soluções elegantes.

    E o melhor: a lógica é universal. Os exemplos acima provam que, independentemente da linguagem, o raciocínio é o mesmo.

    🙌 Gratidão

    Um agradecimento especial ao professor Venilton Flavio Jr. pela didática objetiva e aos colegas da comunidade DIO pela troca de conhecimento.

    🧠 Bora praticar?

    Se quiser melhorar sua lógica, escolha um desafio, tente resolver em várias linguagens diferentes e compare os resultados. É assim que o cérebro cresce no modo dev ninja! 💪

    🔗 #DIO #PensamentoComputacional #LogicaDeProgramacao #Java #CSharp #Python #JavaScript #Desenvolvimento #DesafioDeCodigo #MarcosAugusto

    Share
    Recommended for you
    Suzano - Python Developer #2
    Riachuelo - Primeiros Passos com Java
    GFT Start #7 .NET
    Comments (1)
    DIO Community
    DIO Community - 31/07/2025 09:29

    Excelente artigo, Marcos. Você trouxe uma visão prática e motivadora sobre como desafios de código podem fortalecer a lógica e o pensamento computacional, deixando claro que a linguagem é apenas uma ferramenta. Os exemplos em múltiplas linguagens mostram exatamente como a base lógica é universal, o que torna o aprendizado ainda mais valioso.

    Na DIO acreditamos que a lógica é o alicerce de qualquer carreira em tecnologia, e textos como o seu mostram que praticar esses fundamentos não é só útil, mas essencial para evoluir como desenvolvedor.

    Qual dos desafios que você apresentou você acha que mais ajuda os iniciantes a “virarem a chave” no raciocínio lógico: o FizzBuzz, o Par ou Ímpar ou a Soma de Elementos?

    Recommended for youSuzano - Python Developer #2