O que e um algoritmo?
Essa palavra pode parecer complicada, mas o conceito e simples -- e voce ja usa algoritmos todos os dias, mesmo sem perceber.
Em termos simples: um algoritmo e um passo a passo para resolver um problema. E uma sequencia de instrucoes claras e ordenadas que, quando seguidas, levam a um resultado especifico. Receita de bolo? Algoritmo. Manual de montagem de movel? Algoritmo. Rota do GPS? Algoritmo.
Se voce esta comecando do zero em programacao, entender algoritmos e o primeiro passo para pensar como um programador. Antes de escrever qualquer linha de codigo, voce precisa saber descrever, de forma clara, o que quer que o computador faca.
Algoritmos no dia a dia
Para provar que voce ja sabe o que e um algoritmo, veja estes exemplos:
Fazer cafe
- Pegar a cafeteira
- Colocar o filtro
- Adicionar 3 colheres de po de cafe
- Ferver agua
- Despejar a agua no filtro
- Esperar filtrar
- Servir na xicara
Atravessar a rua
- Parar na calcada
- Olhar para a esquerda
- Olhar para a direita
- Se nao houver carros vindo, atravessar
- Se houver carros vindo, esperar e voltar ao passo 2
Percebeu? Esse segundo exemplo ja tem condicao (se/senao) e repeticao (voltar ao passo 2). Esses sao os mesmos conceitos que usamos em programacao.
As tres estruturas fundamentais
Todo algoritmo, nao importa o quao complexo, e construido com apenas tres estruturas basicas:
1. Sequencia
Instrucoes executadas uma apos a outra, na ordem.
Inicio
Ler nome do usuario
Exibir "Ola, " + nome
Fim
2. Condicao (decisao)
O fluxo muda dependendo de uma condicao.
Se idade >= 18 entao
Exibir "Voce e maior de idade"
Senao
Exibir "Voce e menor de idade"
Fim Se
3. Repeticao (loop)
Um trecho e repetido enquanto uma condicao for verdadeira.
Enquanto contador <= 10 faca
Exibir contador
contador = contador + 1
Fim Enquanto
Com apenas essas tres estruturas, voce pode resolver qualquer problema computacional. Serio. Toda aplicacao que existe -- do Instagram ao sistema bancario -- e construida combinando sequencias, condicoes e repeticoes.
Se voce quer aprofundar esses conceitos, o artigo sobre logica de programacao explica cada um em detalhes.
O que e pseudocodigo?
Agora que voce entende algoritmos, vamos ao pseudocodigo.
Em termos simples: pseudocodigo e uma forma de escrever algoritmos usando linguagem natural estruturada -- parecida com portugues, mas organizada como se fosse codigo de programacao. Nao e uma linguagem real que o computador entende. E uma ferramenta para voce organizar o raciocinio antes de programar.
Por que usar pseudocodigo?
- Foca na logica, nao na sintaxe de uma linguagem especifica
- Qualquer pessoa consegue ler e entender, mesmo sem saber programar
- Facilita a traducao para qualquer linguagem de programacao
- Evita retrabalho -- voce planeja antes de codar
- E usado em entrevistas tecnicas -- muitas empresas pedem pseudocodigo antes do codigo real
Convencoes comuns do pseudocodigo
Nao existe um padrao unico, mas as convencoes mais usadas sao:
| Elemento | Pseudocodigo |
|----------|-------------|
| Inicio do programa | INICIO |
| Fim do programa | FIM |
| Leitura de dados | LEIA variavel |
| Escrita/saida | ESCREVA "texto" |
| Atribuicao | variavel <- valor |
| Condicao | SE ... ENTAO ... SENAO ... FIM SE |
| Repeticao | ENQUANTO ... FACA ... FIM ENQUANTO |
| Repeticao contada | PARA i DE 1 ATE 10 FACA ... FIM PARA |
Exemplo pratico: do problema ao codigo
Vamos resolver um problema completo, passando por todas as etapas: entender o problema, escrever o algoritmo em pseudocodigo, converter para fluxograma e depois para codigo real.
O problema
Criar um programa que leia a nota de um aluno e diga se ele foi aprovado (nota >= 7), esta em recuperacao (nota >= 5 e < 7) ou foi reprovado (nota < 5).
Passo 1: pseudocodigo
INICIO
ESCREVA "Digite a nota do aluno: "
LEIA nota
SE nota >= 7 ENTAO
ESCREVA "Situacao: Aprovado"
SENAO SE nota >= 5 ENTAO
ESCREVA "Situacao: Recuperacao"
SENAO
ESCREVA "Situacao: Reprovado"
FIM SE
FIM
Passo 2: fluxograma
[Inicio]
|
v
[Ler nota]
|
v
<nota >= 7?> ---- Sim ----> [Exibir "Aprovado"] ----> [Fim]
|
Nao
|
v
<nota >= 5?> ---- Sim ----> [Exibir "Recuperacao"] --> [Fim]
|
Nao
|
v
[Exibir "Reprovado"] ----> [Fim]
Passo 3: converter para JavaScript
const nota = parseFloat(prompt("Digite a nota do aluno: "));
if (nota >= 7) {
console.log("Situacao: Aprovado");
} else if (nota >= 5) {
console.log("Situacao: Recuperacao");
} else {
console.log("Situacao: Reprovado");
}
Passo 4: converter para C#
Console.Write("Digite a nota do aluno: ");
double nota = Convert.ToDouble(Console.ReadLine());
if (nota >= 7)
{
Console.WriteLine("Situacao: Aprovado");
}
else if (nota >= 5)
{
Console.WriteLine("Situacao: Recuperacao");
}
else
{
Console.WriteLine("Situacao: Reprovado");
}
Percebeu como a logica e identica nas duas linguagens? A unica coisa que muda e a sintaxe. Quando voce domina o pseudocodigo, aprender qualquer linguagem fica muito mais facil.
Mais exemplos de pseudocodigo
Exemplo: calculadora simples
INICIO
ESCREVA "Digite o primeiro numero: "
LEIA num1
ESCREVA "Digite o segundo numero: "
LEIA num2
ESCREVA "Escolha a operacao (+, -, *, /): "
LEIA operacao
SE operacao = "+" ENTAO
resultado <- num1 + num2
SENAO SE operacao = "-" ENTAO
resultado <- num1 - num2
SENAO SE operacao = "*" ENTAO
resultado <- num1 * num2
SENAO SE operacao = "/" ENTAO
SE num2 != 0 ENTAO
resultado <- num1 / num2
SENAO
ESCREVA "Erro: divisao por zero!"
PARE
FIM SE
SENAO
ESCREVA "Operacao invalida!"
PARE
FIM SE
ESCREVA "Resultado: " + resultado
FIM
Note como o pseudocodigo trata o caso da divisao por zero. Pensar em casos especiais faz parte de ser um bom programador.
Exemplo: somando numeros de 1 a 100
INICIO
soma <- 0
PARA i DE 1 ATE 100 FACA
soma <- soma + i
FIM PARA
ESCREVA "A soma de 1 a 100 e: " + soma
FIM
Resultado: 5050. Esse e um algoritmo classico -- dizem que Gauss resolveu mentalmente quando crianca.
Quer aprender a pensar como programador de verdade?
Saber escrever pseudocodigo e apenas o comeco. No Programacao do Zero ao Avancado - Start, voce aprende logica de programacao, algoritmos e pseudocodigo de forma estruturada -- e depois converte tudo para codigo real em projetos praticos. E o caminho mais eficiente para sair do zero.
Fluxograma: a versao visual do algoritmo
Alem do pseudocodigo, voce pode representar algoritmos visualmente usando fluxogramas. Eles usam simbolos padronizados:
| Simbolo | Significado | |---------|------------| | Oval (retangulo arredondado) | Inicio / Fim | | Retangulo | Processo (acao, calculo) | | Losango | Decisao (condicao) | | Paralelogramo | Entrada / Saida de dados | | Seta | Fluxo (direcao) |
Quando usar fluxograma vs. pseudocodigo?
- Fluxograma e melhor para visualizar o fluxo geral e apresentar para nao-programadores
- Pseudocodigo e melhor para detalhar a logica e converter para codigo
- Na pratica, desenvolvedores usam mais pseudocodigo. Fluxogramas sao mais comuns em documentacao e apresentacoes
Ferramentas para criar fluxogramas
- draw.io (gratuito, online)
- Lucidchart (online, com plano gratuito)
- Miro (colaborativo, otimo para times)
- Excalidraw (simples e rapido)
Como desenvolver o pensamento algoritmico
Pensar em algoritmos e uma habilidade que se desenvolve com pratica. Aqui estao estrategias que funcionam:
1. Decomponha o problema
Divida problemas grandes em problemas menores. Por exemplo, "criar um sistema de login" vira:
- Ler email e senha
- Verificar se o email existe no banco
- Comparar a senha
- Retornar sucesso ou erro
2. Identifique padroes
Muitos problemas sao variacoes de padroes conhecidos:
- Busca -- encontrar algo em uma lista
- Ordenacao -- organizar elementos em uma ordem
- Filtragem -- selecionar elementos que atendem uma condicao
- Acumulacao -- somar, contar, calcular media
3. Comece pelo caso mais simples
Antes de resolver o problema completo, resolva para um unico caso. Depois generalize.
4. Teste mentalmente
Antes de rodar o codigo, simule a execucao com valores de exemplo. Percorra cada passo e veja se o resultado e o esperado. Essa pratica e chamada de "teste de mesa" e e extremamente eficaz para encontrar erros de logica.
5. Pratique todos os dias
Algoritmo e como musculo -- precisa de treino regular. Resolva um exercicio por dia, mesmo que simples.
Erro comum
Erro comum: muitos iniciantes pulam a etapa de planejamento e comecam a escrever codigo direto. Resultado: ficam travados, escrevem codigo confuso e perdem tempo refazendo. O habito de pensar antes de codar -- mesmo que seja um rascunho rapido em pseudocodigo -- economiza horas de retrabalho e produz codigo muito melhor. Desenvolvedores experientes planejam a logica mentalmente ou no papel antes de abrir o editor.
Outro erro frequente e achar que pseudocodigo precisa ser "perfeito" ou seguir uma formatacao rigida. Nao precisa. O objetivo e organizar seu raciocinio, nao produzir um documento formal. Use a formatacao que fizer sentido para voce.
Exercicios para praticar
Tente resolver estes problemas em pseudocodigo antes de ir para qualquer linguagem:
- Par ou impar: leia um numero e diga se e par ou impar
- Maior de tres: leia tres numeros e exiba o maior
- Tabuada: leia um numero e exiba a tabuada completa (de 1 a 10)
- Fatorial: calcule o fatorial de um numero (ex: 5! = 5 x 4 x 3 x 2 x 1 = 120)
- Fibonacci: exiba os 10 primeiros numeros da sequencia de Fibonacci (0, 1, 1, 2, 3, 5, 8, 13, 21, 34)
Comece pelos mais simples e avance gradualmente. Se travar, tudo bem -- releia a secao sobre as tres estruturas fundamentais e tente novamente.
Resumo rapido
- Algoritmo e um passo a passo logico para resolver um problema
- Voce ja usa algoritmos no dia a dia (receitas, rotas, instrucoes)
- Todo algoritmo usa tres estruturas: sequencia, condicao e repeticao
- Pseudocodigo e uma forma de escrever algoritmos em linguagem natural estruturada
- Pseudocodigo nao e codigo real -- e uma ferramenta de planejamento
- Fluxograma e a representacao visual de um algoritmo
- Pensar em algoritmos antes de codar economiza tempo e produz codigo melhor
- A logica do pseudocodigo e a mesma em qualquer linguagem -- so a sintaxe muda
O que estudar depois
Agora que voce entende algoritmos e pseudocodigo, os proximos passos sao:
- Aprofundar em logica de programacao -- domine variaveis, condicionais, loops e funcoes com mais profundidade
- Montar seu plano de estudos -- organize sua trilha de aprendizado para sair do zero
- Descobrir o que estudar depois da logica -- veja como algoritmos se conectam com o proximo nivel
- Voltar ao guia completo para iniciantes -- veja onde algoritmos se encaixam na trilha geral
Pronto para transformar pseudocodigo em projetos reais?
Entender algoritmos e o primeiro passo. Mas o que realmente muda sua carreira e converter essa logica em projetos funcionais. No curso Programacao do Zero ao Avancado - Start da FISApp Academy, voce aprende logica, algoritmos e pseudocodigo -- e depois aplica tudo em projetos reais que vao para o seu portfolio.