1. Por que planejar antes de codificar
Sentar direto no editor de código e sair digitando é a forma mais lenta de resolver um problema não trivial — você acaba reescrevendo o mesmo trecho três ou quatro vezes porque só percebeu um caso esquecido no meio do caminho. Programadores experientes planejam antes, e duas ferramentas dominam esse planejamento: pseudocódigo e fluxograma.
Nenhum dos dois roda em um computador. Essa é a vantagem: você pode errar, apagar e refazer sem custo nenhum, e focar 100% na lógica sem se preocupar com ponto e vírgula, chaves ou erro de compilação.
2. O que é pseudocódigo
Pseudocódigo é uma forma de escrever um algoritmo usando uma linguagem estruturada, parecida com código, mas sem as regras rígidas de sintaxe de nenhuma linguagem real. É "código" que só precisa ser claro para humanos — não para um compilador.
O problema é que "pseudocódigo" não tem um padrão único e universal — cada livro, curso ou empresa usa um dialeto ligeiramente diferente. Para este curso funcionar de forma consistente, vamos fixar um conjunto de palavras-chave em português que serão usadas em todos os capítulos daqui em diante. Decore esse vocabulário — ele é a base de tudo que vem a seguir.
| Palavra-chave | Serve para |
|---|---|
INÍCIO / FIM | Marca o começo e o fim do algoritmo |
ESCREVA | Exibir uma saída (mostrar algo na tela) |
LEIA | Ler uma entrada (receber um dado do usuário) |
SE / ENTÃO / SENÃO / FIM SE | Estrutura de decisão |
ENQUANTO / FAÇA / FIM ENQUANTO | Repetição com teste no início |
REPITA / ATÉ | Repetição com teste no fim |
PARA / DE / ATÉ / FAÇA / FIM PARA | Repetição controlada por contador |
FUNÇÃO / FIM FUNÇÃO | Bloco reutilizável que devolve um valor |
← (ou =) | Atribuição: guardar um valor em uma variável |
INÍCIO
nome ← "Wellington"
ESCREVA "Olá, " + nome
FIM
A seta ← representa atribuição ("o valor da direita entra na
variável da esquerda"). Muitos materiais usam = no lugar
dela — os dois significam a mesma coisa em pseudocódigo. Este curso prefere
← justamente para não confundir com o operador de comparação
de igualdade, que também usa = em várias linguagens. Vamos
detalhar essa diferença no Capítulo 4.
3. Indentação como estrutura visual
Assim como em JavaScript bem formatado, indentação (o recuo com espaços) não é opcional
no pseudocódigo deste curso — ela mostra visualmente o que está "dentro" de uma decisão,
de um laço ou de uma função. Um bloco indentado sob um SE
pertence àquele SE; um bloco fora dele já é outro passo do
algoritmo.
4. O que é um fluxograma
Fluxograma é a versão visual do mesmo raciocínio: em vez de linhas de texto, você desenha caixas conectadas por setas que representam o caminho que o algoritmo percorre. Para problemas simples, um fluxograma comunica a lógica de forma mais rápida que um parágrafo de pseudocódigo — por isso as duas ferramentas convivem, cada uma boa para um momento diferente do planejamento.
Existe um pequeno conjunto de símbolos padronizados que praticamente todo fluxograma de algoritmo usa:
| Símbolo | Forma | Significado |
|---|---|---|
| Óvalo | elipse arredondada | Início ou fim do algoritmo |
| Retângulo | caixa reta | Um processo, uma ação, um cálculo |
| Losango | diamante | Uma decisão (pergunta com resposta sim/não) |
| Paralelogramo | caixa inclinada | Entrada ou saída de dados |
| Seta | linha com ponta | Direção do fluxo de execução |
O diagrama abaixo mostra o mesmo algoritmo do Capítulo 1 (verificar se a pessoa pode votar) desenhado como fluxograma, para você comparar lado a lado com o pseudocódigo equivalente.
Fig. 1 — Fluxograma do algoritmo "pode votar?": óvalo de início, paralelogramo de entrada, losango de decisão com dois ramos, retângulos de processo, e óvalo de fim.
Se você já mexeu com diagramas de estado, fluxos de CI/CD ou até árvores de decisão de produto, a lógica visual é a mesma: caixas são estados/ações, setas são transições, losangos são pontos de ramificação. Fluxograma de algoritmo é o ancestral direto de praticamente todo diagrama técnico que você já viu.
5. Quando usar cada um
Na prática, os dois se complementam:
- Fluxograma é ótimo para visão geral rápida, apresentar lógica para alguém não técnico, ou mapear poucos caminhos de decisão.
- Pseudocódigo é melhor para detalhar lógica complexa, com muitos passos, laços aninhados, ou quando você já vai transcrever quase direto para código de verdade.
Neste curso, o pseudocódigo será a ferramenta principal (porque escala melhor para algoritmos maiores), com fluxogramas aparecendo pontualmente para ilustrar os conceitos mais visuais, como decisões e laços.
Pseudocódigo não tem um compilador para te corrigir. Isso é bom (liberdade) e ruim
(nada te avisa se você esqueceu um FIM SE). Adote o hábito
de sempre fechar cada bloco que abrir — esse cuidado vira reflexo automático quando você
começar a escrever código real em qualquer linguagem.