Algoritmos: lógica, fluxograma e pseudocódigo
Antes de escrever qualquer programa, um programador precisa ter clareza sobre o que o programa deve fazer e em que ordem. Essa descrição de passos, independente de linguagem, é o que chamamos de algoritmo. Você já segue algoritmos o tempo todo: uma receita de bolo, o passo a passo para sacar dinheiro no caixa eletrônico, o roteiro para trocar uma lâmpada. O foco desta semana é aprender a pensar e representar algoritmos: a lógica antes da linguagem.
Base bibliográfica: este material segue o Capítulo 1 de ASCENCIO & CAMPOS, Fundamentos da Programação de Computadores (3. ed., Pearson, 2012), seções 1.1 a 1.4.
1. O que é um algoritmo?
Um computador é rápido e confiável, mas não tem iniciativa nem criatividade: ele precisa receber instruções nos mínimos detalhes. A finalidade de um computador é sempre a mesma: receber dados (entrada), processá-los e gerar um resultado (saída). Para que ele faça isso, alguém precisa descrever exatamente os passos. Essa descrição é o algoritmo.
Algumas definições clássicas:
“Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido.” (Forbellone)
“Algoritmo é uma sequência finita de instruções cuja execução, em tempo finito, resolve um problema.” (Salvetti)
Repare em três ideias que aparecem sempre:
- Ordem: os passos têm uma sequência; trocar a ordem muda o resultado.
- Clareza (sem ambiguidade): cada passo tem um único entendimento possível.
- Fim (finitude): o algoritmo sempre termina.
Você executa algoritmos no dia a dia sem perceber. Por exemplo:
Algoritmo: Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova.
Passo 2: Pegar uma escada.
Passo 3: Posicionar a escada embaixo da lâmpada queimada.
Passo 4: Subir na escada com a lâmpada nova na mão.
Passo 5: Retirar a lâmpada queimada.
Passo 6: Colocar a lâmpada nova.
Passo 7: Descer da escada.
Passo 8: Testar o interruptor.
Exemplo adaptado de Ascencio & Campos, Cap. 1.
Importante: um mesmo problema pode ter vários algoritmos que chegam à mesma resposta. Não existe um único caminho certo.
🎥 Vídeo 1 de 3: O que é um algoritmo? (~4 min)
2. As três etapas para chegar a um programa
Nenhum programa nasce pronto. Ele passa por três etapas:
| Etapa | O que se faz |
|---|---|
| Análise | Estudar o problema para definir os dados de entrada, o processamento e os dados de saída. |
| Algoritmo | Descrever a solução usando descrição narrativa, fluxograma ou pseudocódigo. |
| Codificação | Traduzir o algoritmo para uma linguagem de programação. |
Um programa é, portanto, a codificação de um algoritmo em uma linguagem de programação. Esta semana foca nas duas primeiras etapas: análise e algoritmo.
Método para construir um algoritmo
- Compreender completamente o problema.
- Definir os dados de entrada (o que será fornecido).
- Definir o processamento (quais cálculos/decisões transformam a entrada em saída).
- Definir os dados de saída (o que será gerado).
- Construir o algoritmo (usando uma das três formas da próxima seção).
- Testar o algoritmo com simulações.
3. Três formas de representar um algoritmo
Existem três formas clássicas de escrever um algoritmo. Todas descrevem a mesma lógica, o que muda é a forma.
3.1 Descrição narrativa
Escrever os passos em linguagem natural (português comum), como no exemplo da lâmpada acima.
- ✅ Vantagem: não exige aprender nada novo.
- ❌ Desvantagem: a língua natural é ambígua (“tempere a gosto” não serve para um computador), o que dificulta traduzir para um programa.
3.2 Fluxograma
Representar o algoritmo com símbolos gráficos padronizados, ligados por setas que mostram o fluxo.
- ✅ Vantagem: o desenho é mais fácil de entender que um texto.
- ❌ Desvantagem: exige aprender a simbologia e tem pouco detalhe, o que dificulta a tradução para código.
3.3 Pseudocódigo (ou portugol)
Escrever o algoritmo com regras e palavras-chave predefinidas, um “português estruturado”.
- ✅ Vantagem: a passagem para uma linguagem de programação é quase imediata, bastando trocar as palavras-chave pela sintaxe da linguagem.
- ❌ Desvantagem: exige aprender as regras do pseudocódigo.
4. Os símbolos do fluxograma
São poucos símbolos, cada um com um significado fixo. A leitura padrão é de cima para baixo, seguindo as setas. A Figura abaixo ilustra cada símbolo e seu significado.

| Símbolo | Forma | Significado |
|---|---|---|
| Terminal | oval | Início e fim do algoritmo |
| Seta | linha com ponta | Sentido do fluxo; conecta os blocos |
| Processo | retângulo | Cálculos e atribuições de valores |
| Entrada | paralelogramo | Entrada de dados (o usuário informa algo) |
| Saída | paralelogramo | Saída de dados (mostrar um resultado) |
| Decisão | losango | Uma pergunta com dois caminhos: SIM e NÃO |
O símbolo mais importante é o losango (decisão): é o único de onde saem dois caminhos. Ele é onde o algoritmo escolhe o que fazer.
🎥 Vídeo 2 de 3: Fluxogramas: símbolos e leitura (~6 min)
5. As regras do pseudocódigo
Adotamos a notação do livro-texto. Palavras-chave em MAIÚSCULAS.
ALGORITMO
DECLARE <variáveis> <TIPO>
<comandos>
FIM_ALGORITMO
| Palavra-chave | Função |
|---|---|
ALGORITMO … FIM_ALGORITMO | Delimitam o início e o fim (o terminal do fluxograma) |
DECLARE nome TIPO | Reserva uma variável (ex.: DECLARE N1, N2 NUMÉRICO) |
LEIA nome | Lê um dado de entrada e guarda na variável |
ESCREVA "texto", nome | Mostra um dado de saída |
nome ← expressão | Atribuição: a variável recebe o valor da expressão |
SE condição ENTÃO … SENÃO … | Decisão (o losango do fluxograma) |
Atenção ao
←: ele significa “recebe”, não “é igual”.M ← (N1 + N2) / 2quer dizer “guarde na variável M o resultado da conta”. É diferente do=da matemática.
🎥 Vídeo 3 de 3: Pseudocódigo: português estruturado (~6 min)
6. Exemplos resolvidos (as três formas lado a lado)
Exemplo A: Multiplicar dois números (estrutura sequencial)
Descrição narrativa:
- Receber dois números.
- Multiplicar os números.
- Mostrar o resultado.
Fluxograma (leitura de cima para baixo):

Pseudocódigo:
ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA "Digite dois números"
LEIA N1, N2
M ← N1 * N2
ESCREVA "Multiplicação = ", M
FIM_ALGORITMO
Exemplo adaptado de Ascencio & Campos, Cap. 1, seção 1.4.
Exemplo B: Dividir dois números (com decisão)
Não existe divisão por zero, então precisamos decidir antes de dividir.
Descrição narrativa:
- Receber dois números.
- Se o segundo número for igual a zero, avisar que é impossível dividir; caso contrário, dividir e mostrar o resultado.
Fluxograma

Pseudocódigo:
ALGORITMO
DECLARE N1, N2, D NUMÉRICO
ESCREVA "Digite dois números"
LEIA N1, N2
SE N2 = 0
ENTÃO ESCREVA "Impossível dividir"
SENÃO INÍCIO
D ← N1 / N2
ESCREVA "Divisão = ", D
FIM
FIM_ALGORITMO
Exemplo adaptado de Ascencio & Campos, Cap. 1, seção 1.4.
Quando o
SENÃOprecisa executar mais de um comando, agrupamos comINÍCIO … FIM. Com um comando só, oINÍCIO/FIMnão é necessário.
Exemplo C: Média de um aluno (aprovado ou reprovado)
Descrição narrativa:
- Receber as duas notas.
- Calcular a média aritmética.
- Mostrar a média.
- Se a média for maior ou igual a 7, o aluno está aprovado; caso contrário, reprovado.
Fluxograma

Pseudocódigo:
ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA "Digite as duas notas"
LEIA N1, N2
M ← (N1 + N2) / 2
ESCREVA "Média = ", M
SE M ≥ 7
ENTÃO ESCREVA "Aprovado"
SENÃO ESCREVA "Reprovado"
FIM_ALGORITMO
Exemplo adaptado de Ascencio & Campos, Cap. 1, seção 1.4.
Leitura da Semana 1 - Base: Ascencio & Campos, Cap. 1 (1.1–1.4). Próximo passo: fazer a lista de exercícios e trazer suas dúvidas para o encontro síncrono.