// aula 01 · Lógica de Programação

Lógica de Programação —
do início ao 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 que resolve um problema. Antes de escrever qualquer linha de código, você precisa saber o que fazer e em que ordem fazer.

É como uma receita de bolo: você não coloca o bolo no forno antes de misturar os ingredientes. Na programação também existe uma ordem — e essa ordem é a lógica.

Lógica não depende de linguagem. Você aprende uma vez e leva para Python, JavaScript, Java ou qualquer outra. A linguagem é só a forma de escrever — a lógica é o raciocínio por trás.

🍳

Receita de bolo = Algoritmo

Uma receita tem ingredientes (dados de entrada), passos em ordem (processamento) e um bolo pronto (saída). Um programa funciona exatamente assim.

Entrada → Processamento → Saída

🗺️

GPS = Lógica condicional

O GPS avalia condições em tempo real: se a rua está bloqueada, então recalcule a rota. Isso é exatamente o que um if/else faz no código.

Se condição → senão → outra ação


Uma breve história da lógica de programação

A lógica de programação não nasceu com os computadores. Ela tem raízes na matemática e na filosofia — e passou por séculos de evolução antes de chegar à tela do seu notebook.

Século IV a.C.

Aristóteles e a Lógica Formal

O filósofo grego criou a lógica dedutiva — um sistema de raciocínio baseado em premissas e conclusões. É a base de todo pensamento lógico que usamos até hoje: "Se A então B".

1843

Ada Lovelace — a primeira programadora

Ada escreveu o primeiro algoritmo destinado a ser processado por uma máquina — para o motor analítico de Charles Babbage. Ela é considerada a primeira programadora da história, um século antes dos computadores modernos.

1854

George Boole — Álgebra Booleana

Boole criou um sistema matemático baseado em verdadeiro e falso. Toda lógica condicional da programação moderna (True, False, and, or, not) vem diretamente dele.

1936

Alan Turing — a Máquina de Turing

Turing descreveu uma máquina teórica capaz de executar qualquer algoritmo — lendo, escrevendo e tomando decisões com base em regras. Esse modelo é a base teórica de todos os computadores modernos.

1950s–hoje

Linguagens de programação — da máquina ao Python

Saímos do código de máquina binário para o Assembly, depois para C, Java, e linguagens modernas como Python. A lógica permaneceu a mesma — só a forma de escrever ficou mais humana.


Os pilares da lógica de programação

Algoritmo

Sequência de passos

É a receita. Um conjunto finito de instruções ordenadas que resolve um problema. Todo programa que existe começa com um algoritmo — às vezes na cabeça, às vezes no papel.

Variável

Guardar informação

Um espaço na memória com um nome e um valor. Pode mudar ao longo do programa. Ex: idade = 25 guarda o número 25 com o nome "idade".

Condicional

Tomar decisões

O programa avalia uma condição e age diferente dependendo do resultado. Se a senha estiver correta, entra. Senão, nega o acesso.

Repetição

Fazer várias vezes

Quando você precisa executar o mesmo bloco de código múltiplas vezes. Em vez de repetir o código, usa um laço que repete automaticamente.

Função

Reaproveitar código

Um bloco de código com nome, que você escreve uma vez e chama várias vezes. Evita repetição e organiza o programa em pedaços menores.

Entrada e Saída

Comunicar com o mundo

Todo programa recebe dados (entrada) e devolve resultados (saída). Pode ser o teclado, um arquivo, uma API ou a tela do usuário.


Pseudocódigo — pensar antes de codificar

Pseudocódigo é uma forma de escrever a lógica do programa usando linguagem humana — sem se preocupar com a sintaxe de nenhuma linguagem. É o rascunho antes do código de verdade.

Profissionais experientes usam pseudocódigo para planejar soluções complexas. Não é coisa de iniciante — é hábito de quem pensa antes de digitar.

exemplo — verificar se um número é par (pseudocódigo → Python)

Pseudocódigo

INÍCIO
  receber número
  se número dividido por 2
     tiver resto 0:
    exibir "é par"
  senão:
    exibir "é ímpar"
FIM

Python

numero = int(input("Digite um número: "))

if numero % 2 == 0:
    print("É par")
else:
    print("É ímpar")

Fluxograma — visualizar antes de programar

Um fluxograma é um diagrama que representa o fluxo de um algoritmo visualmente — com caixas, setas e símbolos padrão. Ajuda a enxergar os caminhos possíveis antes de escrever qualquer código.

Oval

Início / Fim

Marca onde o algoritmo começa e onde termina.

Retângulo

Processo

Uma ação ou cálculo. Ex: calcular total, salvar dado.

Losango

Decisão

Uma pergunta com resposta Sim/Não. Representa o if.

Paralelogramo

Entrada/Saída

Leitura de dados (input) ou exibição (print).

💡 Dica prática: antes de começar qualquer projeto, tente desenhar o fluxo no papel ou numa ferramenta como Excalidraw ou Lucidchart. Você vai identificar problemas de lógica antes de escrever uma linha de código.


Como aprender e se aperfeiçoar em lógica

Lógica de programação é uma habilidade — e como toda habilidade, ela se desenvolve com prática constante. Não existe atalho, mas existe caminho certo.

1

Aprenda a pensar antes de digitar

Antes de abrir o editor, tente resolver o problema no papel. Escreva o pseudocódigo, desenhe um fluxograma. Programadores experientes passam mais tempo planejando do que codificando.

2

Pratique com exercícios simples todo dia

Sites como Beecrowd, HackerRank e LeetCode têm exercícios de lógica do nível mais básico ao avançado. 15 minutos por dia de prática consistente valem mais do que estudar 4 horas no final de semana.

3

Leia código de outras pessoas

GitHub está cheio de projetos abertos. Leia como outros resolveram problemas parecidos com os seus. Você vai perceber formas de pensar que nunca imaginou — e isso expande sua lógica.

4

Resolva o mesmo problema de formas diferentes

Depois de resolver um exercício, tente resolver de novo usando uma abordagem diferente — com while em vez de for, com função em vez de código solto. Isso fortalece o raciocínio lógico.

5

Explique o que você fez — em voz alta ou por escrito

Se você consegue explicar um algoritmo para outra pessoa usando palavras simples, significa que você realmente entendeu. Se travar na explicação, é sinal que a lógica ainda não está clara na sua cabeça.


Lógica na prática — exemplos em Python

sequência simples — calculadora de IMC

# Entrada
peso  = float(input("Peso (kg): "))
altura = float(input("Altura (m): "))

# Processamento
imc = peso / (altura ** 2)

# Saída com condicional
if imc < 18.5:
    print("Abaixo do peso")
elif imc < 25:
    print("Peso normal")
elif imc < 30:
    print("Sobrepeso")
else:
    print("Obesidade")

repetição — tabuada de qualquer número

n = int(input("Qual tabuada? "))

for i in range(1, 11):
    print(f'{n} x {i} = {n * i}')

# → 7 x 1 = 7
# → 7 x 2 = 14
# → ...até 7 x 10 = 70

função — organizar e reaproveitar

def calcular_media(notas):
    # recebe uma lista de notas e retorna a média
    return sum(notas) / len(notas)

def situacao(media):
    if media >= 7:
        return "Aprovado ✅"
    elif media >= 5:
        return "Recuperação ⚠️"
    else:
        return "Reprovado ❌"

# Usando as funções
notas_lucilia = [8, 7.5, 9, 6]
media = calcular_media(notas_lucilia)
print(f'Média: {media} — {situacao(media)}')
# → Média: 7.625 — Aprovado ✅

Erros comuns de quem está começando

Erro 1

Querer digitar antes de pensar

Abrir o editor sem entender o problema é o caminho mais rápido para se perder. Sempre entenda o que precisa ser feito antes de escrever a primeira linha.

Erro 2

Decorar sintaxe em vez de entender lógica

Saber escrever for i in range(10) sem entender por que funciona não te torna programador. A sintaxe se aprende em minutos — a lógica leva meses.

Erro 3

Desistir no primeiro erro

Erro é parte do processo. Todo programador experiente passa horas depurando. A diferença entre iniciante e sênior não é não errar — é saber como encontrar e corrigir o erro.

Erro 4

Copiar código sem entender

Copiar do Stack Overflow ou do ChatGPT sem entender o que o código faz cria uma ilusão de progresso. Você vai travar na próxima variação do mesmo problema.

⚠️ Síndrome do impostor é real — mas não é permanente. Todo programador sente que não sabe o suficiente. O segredo é continuar mesmo assim. A sensação de "não estou pronto" vai diminuindo com cada problema que você resolve.