Lógica & Algoritmos
Raciocínio computacional, decomposição de problemas e construção de algoritmos — a base do pensamento de todo programador, antes mesmo da primeira linha de código.
O que é lógica de programação? 🧠
Lógica de programação é a capacidade de organizar o pensamento em uma sequência de passos claros, ordenados e sem ambiguidade para resolver um problema. Antes de escrever uma única linha de código, o programador precisa raciocinar sobre o problema — e é esse raciocínio estruturado que chamamos de raciocínio computacional.
Pense em explicar para alguém como chegar até a sua casa. Se você pular um passo, a pessoa se perde. Programar é parecido: o computador faz exatamente o que mandamos, na ordem em que mandamos — nem mais, nem menos.
Raciocínio
Entender o problema antes de resolvê-lo. Qual é a entrada? Qual é a saída esperada?
Sequência
Quebrar a solução em passos ordenados. A ordem importa — trocar dois passos muda o resultado.
Precisão
Nada de "mais ou menos". Cada passo precisa ser claro e ter um único significado.
Independe da linguagem
A lógica é a mesma em Python, Java ou JavaScript. Primeiro pensamos; depois traduzimos.
Pensamento computacional 🧩
O pensamento computacional é a forma de encarar problemas do jeito que um computador poderia ajudar a resolvê-los. Ele se apoia em quatro pilares que trabalham juntos — e você já usa vários deles sem perceber.
Decomposição
Quebrar um problema grande em partes menores e mais fáceis, uma de cada vez.
Reconhecer padrões
Perceber semelhanças e repetições — o que se repete pode ser resolvido do mesmo jeito.
Abstração
Focar no que importa e ignorar os detalhes irrelevantes para o problema atual.
Algoritmos
Escrever o passo a passo da solução — a receita que resolve o problema de forma repetível.
Decomposição de problemas
Problemas grandes assustam. A saída é decompor: dividir em subproblemas pequenos, resolver cada um e depois juntar as soluções. Um problema que parecia impossível vira uma lista de tarefas simples.
Imagine o pedido: "calcular a média final de uma turma e dizer quem foi aprovado". Vamos decompor:
# Problema: média da turma + situação de cada aluno 1. Ler as notas de cada aluno 2. Para cada aluno, calcular a média das suas notas 3. Comparar a média com a nota de corte (ex.: 6.0) 4. Classificar como "Aprovado" ou "Reprovado" 5. Mostrar o resultado de todos
O que é um algoritmo?
Um algoritmo é uma sequência finita de passos, bem definidos e ordenados, que resolve um problema. Toda receita de cozinha, todo manual de montagem e todo trajeto de GPS é, no fundo, um algoritmo.
Finito
Tem começo e fim. Precisa terminar depois de um número limitado de passos.
Preciso
Cada passo é claro e sem ambiguidade — só pode ser entendido de uma forma.
Ordenado
Os passos têm uma ordem definida. Executar fora de ordem quebra o resultado.
Eficaz
Resolve de fato o problema para o qual foi criado — e produz uma saída.
Veja um algoritmo do cotidiano, escrito em passos, para trocar uma lâmpada queimada:
INÍCIO desligar o interruptor pegar uma lâmpada nova girar a lâmpada queimada no sentido anti-horário encaixar a nova girando no sentido horário ligar o interruptor SE a lâmpada acender ENTÃO tarefa concluída SENÃO verificar se está bem encaixada FIM
Construindo algoritmos
Existem três formas clássicas de representar um algoritmo. Todas descrevem a mesma lógica — muda apenas o formato.
Descrição narrativa
Em linguagem natural, como um texto. Simples, mas pode ficar ambíguo.
Fluxograma
Um desenho com símbolos (setas, losangos, retângulos) que mostra o caminho da lógica.
Pseudocódigo
Um "quase código" em português estruturado (Portugol). A ponte entre a ideia e a linguagem real.
Os três blocos que constroem qualquer algoritmo
Por mais complexo que um programa pareça, ele é feito de apenas três estruturas básicas combinadas:
# 1. SEQUÊNCIA — um passo após o outro ler nota1 ler nota2 media = (nota1 + nota2) / 2 # 2. DECISÃO — escolher um caminho SE media >= 6 ENTÃO escrever "Aprovado" SENÃO escrever "Reprovado" # 3. REPETIÇÃO — repetir enquanto precisar ENQUANTO houver aluno na fila FAÇA chamar próximo aluno
Exemplo completo: o maior de dois números
INÍCIO escrever "Digite o primeiro número:" ler a escrever "Digite o segundo número:" ler b SE a > b ENTÃO escrever "O maior é: ", a SENÃO SE b > a ENTÃO escrever "O maior é: ", b SENÃO escrever "Os números são iguais" FIM
Boas práticas e erros comuns
Um bom algoritmo é claro e verificável. Compare:
Ordem errada
Usar um dado antes de lê-lo. Garanta que a informação existe antes de utilizá-la.
Ambiguidade
"Calcular o resultado" não diz nada. Especifique qual conta e com quais dados.
Repetição sem fim
Toda repetição precisa de uma condição de parada, senão o algoritmo nunca termina.
Não testar
Faça o teste de mesa com valores diferentes — inclusive os casos extremos e iguais.
Resumo
Raciocínio
Organizar o pensamento em passos claros e ordenados — antes do código.
Pensar computacionalmente
Decomposição, padrões, abstração e algoritmos trabalhando juntos.
Passo a passo
Finito, preciso, ordenado e eficaz — a receita da solução.
Sequência · decisão · repetição
Os três blocos que, combinados, constroem qualquer programa.