O que é algoritmo: significado, tipos e exemplos em pseudocódigo

O que é algoritmo: significado e origem da palavra, as cinco características, os tipos (sequencial, com decisão, com repetição e recursivo), fluxograma e pseudocódigo, exemplos resolvidos e a ideia de eficiência.

Revisão técnica: Cesar GargiuloNIST, Dictionary of Algorithms and Data Structures
Calcule agora: Gerador de hash SHAResultado na hora, de graça e sem cadastro.

Algoritmo é uma sequência finita de instruções bem definidas que leva de uma entrada a um resultado, como uma receita que qualquer executor, pessoa ou máquina, consegue seguir sem adivinhar nada. O nome vem do matemático persa al-Khwarizmi, autor de um livro de regras de cálculo escrito por volta de 825, e hoje vale tanto para a divisão feita no papel quanto para o sistema que escolhe a rota do GPS. Quem quer aprender a criar os próprios algoritmos pode começar pelo curso gratuito de Lógica de Programação, que ensina a pensar em passos antes de qualquer linguagem.

Resposta rápida

  • Algoritmo é uma sequência finita de passos bem definidos que transforma uma entrada em um resultado.
  • A palavra vem de al-Khwarizmi, matemático persa do século 9, e "algarismo" tem a mesma origem.
  • Pela estrutura, um algoritmo pode ser sequencial, com decisão, com repetição ou recursivo, e os reais costumam misturar esses tipos.
  • Dá para escrevê-lo em português, em fluxograma, em pseudocódigo ou direto numa linguagem de programação.

O que significa algoritmo?

Um algoritmo é um procedimento: uma lista ordenada de ações que, seguida à risca, resolve um tipo de problema. O dicionário de algoritmos do NIST, o instituto de padrões dos Estados Unidos, define o termo em uma linha: um conjunto computável de passos para atingir um resultado desejado. A palavra "computável" é o que separa um algoritmo de um conselho. "Organize melhor o seu dinheiro" não é algoritmo; "anote cada gasto, some tudo no fim do mês e compare com a renda" já é.

Dois detalhes do significado costumam passar despercebidos. O primeiro é que o algoritmo resolve uma classe de problemas, e não um caso isolado: o método da divisão no papel serve para qualquer dividendo e divisor, e não só para 144 dividido por 12. O segundo é que ele não depende de computador. A máquina entrou na história por ser um executor rápido e obediente, mas as pessoas seguem algoritmos há milênios.

Para praticar a definição com um jogo de ordenar os passos de um saque no caixa eletrônico, faça a aula O que é um algoritmo, do curso de lógica.

De onde vem a palavra algoritmo?

A palavra nasceu de um nome próprio. Muhammad ibn Musa al-Khwarizmi foi um matemático persa que trabalhou em Bagdá no século 9 e escreveu, por volta de 825, um livro com as regras para calcular com os algarismos indianos, a base dos que usamos até hoje. Quando a obra foi traduzida para o latim, o nome do autor virou Algoritmi, e a palavra algorismus passou a designar o cálculo feito com esses algarismos, passo a passo.

Do mesmo nome saiu a palavra "algarismo", que em português designa cada dígito de um número. Outro livro de al-Khwarizmi, sobre equações, deu origem a "álgebra", tirada do termo árabe al-jabr, que aparece no título. Com o tempo, "algoritmo" deixou de significar só conta com algarismos e passou a nomear qualquer procedimento sistemático, inclusive os que não envolvem número algum.

A ideia é bem mais velha que a palavra. O algoritmo de Euclides, que acha o máximo divisor comum de dois números e foi descrito nos Elementos por volta de 300 a.C., é um dos mais antigos ainda em uso. O guia do algoritmo de Euclides mostra o passo a passo com exemplos.

Quais são as características de um algoritmo?

Donald Knuth, no primeiro volume de The Art of Computer Programming, de 1968, descreve cinco características que todo algoritmo precisa ter. Elas funcionam como um checklist para conferir o que você escreveu.

CaracterísticaO que exigePergunta para conferir
FinitudeTerminar depois de um número finito de passosExiste algum caminho em que ele nunca para?
DefiniçãoCada passo é preciso, sem margem para interpretaçãoDuas pessoas executariam este passo do mesmo jeito?
EntradaRecebe zero ou mais dados para trabalharQuais dados ele precisa receber?
SaídaProduz pelo menos um resultado ligado à entradaO que ele entrega no fim?
EfetividadeCada operação é simples o bastante para ser feita com lápis e papelAlgum passo exige adivinhar ou fazer o impossível?

A finitude costuma falhar em programa: um laço de repetição sem condição de parada roda para sempre. A definição costuma faltar em receita de família: "sal a gosto" funciona para quem já cozinhou, mas não para um executor que só faz o que está escrito. Fora da lista fica uma exigência que, na prática, pesa tanto quanto as outras: o algoritmo precisa ser correto, ou seja, dar a resposta certa para toda entrada válida, inclusive nos casos extremos, como uma lista vazia ou um valor zero.

Quais são os tipos de algoritmo?

Pela estrutura, os algoritmos se dividem em quatro tipos. Os três primeiros são as estruturas básicas da programação: em 1966, Corrado Böhm e Giuseppe Jacopini mostraram que qualquer fluxograma pode ser reescrito usando só sequência, decisão e repetição, resultado que ficou conhecido como teorema do programa estruturado. A recursão é um quarto jeito de organizar a repetição.

TipoComo funcionaExemplo
SequencialExecuta os passos um após o outro, sempre na mesma ordemCalcular o troco: ler o preço, ler o valor pago e subtrair
Com decisão (condicional)Escolhe um caminho conforme uma condição verdadeira ou falsaSe a média for 6 ou mais, aprovado; senão, recuperação
Com repetição (iterativo)Repete um bloco enquanto uma condição valer ou por um número fixo de vezesSomar os gastos de cada dia do mês
RecursivoResolve o problema chamando a si mesmo para uma versão menorCalcular o fatorial: 5! = 5 x 4!

Quase todo algoritmo real mistura os tipos. O do caixa eletrônico é sequencial na maior parte, toma decisões (a senha confere? há saldo?) e repete (pede a senha de novo até o limite de tentativas). Além da estrutura, os algoritmos também se agrupam pela finalidade: há algoritmos de busca, de ordenação, de caminho mínimo, de compressão e de criptografia, entre muitos outros.

Como representar um algoritmo?

O mesmo algoritmo pode ser escrito de quatro jeitos, do mais solto ao mais rigoroso. O exemplo abaixo é o algoritmo que diz se um número inteiro é par ou ímpar.

Descrição narrativa

É o algoritmo em português comum, em frases numeradas:

  1. Peça um número inteiro.
  2. Divida o número por 2 e observe o resto.
  3. Se o resto for zero, informe que o número é par.
  4. Caso contrário, informe que o número é ímpar.

É a forma mais fácil de começar e a mais sujeita a ambiguidade, porque o português aceita frases com dois sentidos.

Fluxograma

O fluxograma desenha o algoritmo com formas geométricas ligadas por setas. Os símbolos seguem um padrão internacional, a norma ISO 5807, e quatro deles aparecem em quase todo fluxograma:

SímboloFormaUso
TerminalOval (retângulo de cantos arredondados)Início e fim do algoritmo
ProcessoRetânguloUma ação ou um cálculo
DecisãoLosangoUma pergunta de sim ou não, com duas saídas
DadosParalelogramoEntrada ou saída de dados

No exemplo, o fluxograma teria um oval de início, um paralelogramo para ler o número, um losango perguntando se o resto da divisão por 2 é zero, dois paralelogramos de saída (par e ímpar) e um oval de fim. A aula de fluxogramas do curso de lógica ensina a ler e a desenhar um fluxograma completo.

Pseudocódigo

Pseudocódigo é o algoritmo escrito em português estruturado, com palavras fixas como leia, escreva, se, senão e enquanto. Ele tem a precisão de um programa sem as regras de uma linguagem específica, e uma das versões mais conhecidas no Brasil é o Portugol. O par ou ímpar fica assim:

leia(numero)
se numero mod 2 = 0 então
    escreva("par")
senão
    escreva("ímpar")
fim

O operador mod devolve o resto da divisão, e esse é o único cálculo do algoritmo. A aula de pseudocódigo em português apresenta os comandos leia e escreva e as regras de escrita que o curso usa.

Código em uma linguagem de programação

Por fim, o algoritmo vira programa. Em Python, o mesmo teste fica assim:

numero = int(input("Digite um número inteiro: "))
if numero % 2 == 0:
    print("par")
else:
    print("ímpar")

A lógica é idêntica; mudou só a grafia. Por isso quem domina algoritmos troca de linguagem com pouco esforço, e o curso de Python é o passo natural depois da lógica.

Exemplos de algoritmos resolvidos em pseudocódigo

Os quatro exemplos a seguir cobrem os quatro tipos de estrutura e usam o mesmo pseudocódigo do curso de lógica. Nele, a seta <- guarda um valor numa variável e o sinal <> quer dizer "diferente de".

Algoritmo sequencial: o troco

leia(preco)
leia(pago)
troco <- pago - preco
escreva("Troco: ", troco)

São quatro passos em linha reta, sem desvio. Com preço de 37,50 e pagamento de 50, o troco é 12,50. O algoritmo tem um defeito de propósito: se o valor pago for menor que o preço, ele mostra um troco negativo. Corrigir isso exige uma decisão, que é o próximo tipo.

Algoritmo com decisão: ano bissexto

Pelo calendário gregoriano, um ano é bissexto se for divisível por 4, exceto os divisíveis por 100 que não são divisíveis por 400. A regra vira uma decisão com os operadores E e OU:

leia(ano)
se (ano mod 4 = 0 E ano mod 100 <> 0) OU ano mod 400 = 0 então
    escreva(ano, " é bissexto")
senão
    escreva(ano, " não é bissexto")
fim

Teste com três anos. 2024 é divisível por 4 e não por 100, então é bissexto. 1900 é divisível por 100 e não por 400, então não é. 2000 é divisível por 400, então é. O comando se é o assunto da aula sobre a bifurcação SE, e o guia de tabela-verdade e raciocínio lógico explica como E e OU combinam condições.

Algoritmo com repetição: a média de várias notas

leia(quantidade)
soma <- 0
contador <- 1
enquanto contador <= quantidade faça
    leia(nota)
    soma <- soma + nota
    contador <- contador + 1
fim
escreva("Média: ", soma / quantidade)

O bloco dentro do enquanto se repete uma vez por nota. A variável soma acumula os valores, e o contador impede o laço de rodar para sempre, que é a finitude na prática. Um teste de mesa, feito no papel antes de rodar no computador, mostra cada volta com as notas 7, 8 e 9:

MomentoNota lidasomacontador
Antes do laço(nenhuma)01
Fim da volta 1772
Fim da volta 28153
Fim da volta 39244

Com o contador em 4, a condição "4 é menor ou igual a 3" fica falsa, o laço termina e a média sai 24 dividido por 3, que é 8. Se a quantidade informada for zero, a divisão final quebra, e um algoritmo correto trataria esse caso antes. A estrutura do enquanto, com o teste feito antes de cada volta, está na aula do laço ENQUANTO.

Algoritmo recursivo: o fatorial

função fatorial(n)
    se n = 0 então
        retorne 1
    senão
        retorne n * fatorial(n - 1)
    fim
fim função

escreva(fatorial(5))

A função chama a si mesma com um número menor até chegar ao caso base, n = 0, que devolve 1 sem nova chamada. O cálculo de fatorial(5) desce até fatorial(0) e volta multiplicando: 1, 1, 2, 6, 24 e, por fim, 120. Sem o caso base, a função chamaria a si mesma sem parar. A aula sobre a ideia da recursão, do curso intermediário, explica por que uma função consegue resolver um problema chamando a si mesma.

Para escrever algoritmos como esses e ver o resultado na hora, o curso gratuito de Lógica de Programação tem um Playground de Lógica que roda pseudocódigo em português no navegador, sem instalar nada. Cada aula termina com um jogo, como comandar um robô, caçar erros ou prever a saída de um algoritmo.

Onde os algoritmos aparecem no dia a dia?

Vários algoritmos que rodam no celular têm nome próprio. A tabela reúne alguns dos mais comuns, com o problema que cada um resolve e onde ele aparece.

ProblemaAlgoritmo ou famíliaOnde você encontra
Achar um item numa lista em ordemBusca bináriaProcurar uma palavra no dicionário, um nome numa lista de chamada
Colocar itens em ordemOrdenação (inserção, merge sort, quicksort)E-mails por data, contatos por nome, produtos por preço
Traçar a menor rotaCaminho mínimo, como o algoritmo de Dijkstra, de 1959Aplicativos de mapa e de navegação
Conferir se um arquivo foi alteradoFunções de hash, como o SHA-256Download de programas, assinatura digital
Transformar dados binários em textoCodificação Base64Anexos de e-mail, imagens embutidas em páginas
Sugerir o próximo conteúdoSistemas de recomendaçãoLojas virtuais, redes sociais, serviços de streaming

Dá para ver dois deles funcionando no próprio navegador: o gerador de hash SHA calcula o SHA-256 de um texto, e o codificador Base64 faz a conversão nos dois sentidos.

E "o algoritmo" das redes sociais? O termo é o mesmo, mas ali se trata de um conjunto grande de programas que dá uma nota a cada publicação a partir de sinais, como as suas interações anteriores, e mostra primeiro as de nota mais alta. Os critérios exatos, na maior parte dos casos, não são públicos. A estrutura, porém, é a de qualquer algoritmo: entrada (as publicações e os sinais), processamento (a pontuação) e saída (a ordem do seu feed).

O que é eficiência de um algoritmo?

Dois algoritmos podem resolver o mesmo problema com esforços muito diferentes. Para comparar os dois de forma justa, conte os passos que cada um dá conforme a entrada cresce: o cronômetro mede também a máquina, e o mesmo código roda mais rápido num computador potente. A aula Contar passos, não segundos desenvolve essa ideia.

O exemplo clássico é procurar um nome numa lista. Na busca linear, você olha item por item e, no pior caso, olha todos. Na busca binária, que exige a lista em ordem, você olha o item do meio, descarta a metade em que o nome não pode estar e repete na metade que sobrou. No pior caso, a quantidade de comparações fica assim:

Itens na listaBusca linearBusca binária
10104
1.0001.00010
1.000.0001.000.00020
1.000.000.0001.000.000.00030

Cada comparação da busca binária corta o problema pela metade, por isso o número de passos cresce devagar: dobrar o tamanho da lista acrescenta só uma comparação. A aula de busca binária mostra o algoritmo com o jogo de adivinhar um número.

Na ordenação acontece o mesmo. Ordenar 1.000 nomes pelo método da bolha, na versão mais simples, custa 499.500 comparações, enquanto o merge sort resolve com menos de 10 mil. Com poucos dados a diferença não aparece; com milhões, ela separa o programa que responde na hora do que trava. A notação que os programadores usam para essa comparação, o Big-O, está no guia de estruturas de dados e algoritmos.

Algoritmo, programa e linguagem de programação: qual a diferença?

O algoritmo é a solução pensada, e o programa é essa solução escrita numa linguagem de programação, o idioma que o computador sabe executar. O par ou ímpar mostrado acima em pseudocódigo e em Python é um algoritmo só, com duas grafias. Um programa de verdade costuma reunir muitos algoritmos, e um mesmo algoritmo pode ser escrito em qualquer linguagem.

Também vale separar algoritmo de heurística. Heurística é uma regra prática que costuma dar uma boa resposta, sem garantia de ser a melhor. Escolher a fila do mercado com menos pessoas é uma heurística, porque uma fila curta com carrinhos cheios pode andar mais devagar. Muitos sistemas usam heurísticas quando o cálculo exato seria lento demais para o tamanho do problema.

Como aprender a criar algoritmos do zero?

  1. Descreva tarefas do cotidiano em passos numerados, como se ditasse para um robô que não sabe nada. Cada "depende" que aparecer é uma decisão escondida.
  2. Identifique a entrada, o processamento e a saída de cada tarefa.
  3. Reescreva em pseudocódigo, usando só sequência, decisão e repetição.
  4. Faça o teste de mesa: execute o algoritmo no papel com dados de exemplo, anotando o valor de cada variável a cada passo, como na tabela das notas.
  5. Teste os casos extremos: zero, lista vazia, valor negativo e o maior valor possível.
  6. Só então traduza para uma linguagem de programação.

O curso de Lógica de Programação segue essa ordem em 16 módulos, e o guia de como aprender programação do zero ajuda a montar a rotina de estudo. Para quem já passou do básico, o curso intermediário de lógica trata de busca, ordenação, recursão e eficiência.

Para pais e professores

Crianças aprendem algoritmos com atividades de sequência, como ordenar os passos para escovar os dentes ou guiar um colega por um caminho desenhado no chão. O curso de lógica de programação para crianças leva essas ideias para jogos no navegador, e o guia de como ensinar programação para crianças sugere atividades por faixa de idade.

Conclusão

Algoritmo é um procedimento finito e preciso que transforma uma entrada em um resultado. O nome vem de al-Khwarizmi, mas a ideia é mais antiga que ele, e a estrutura cabe em quatro tipos: sequencial, com decisão, com repetição e recursivo. O algoritmo pode ser escrito em português, em fluxograma, em pseudocódigo ou em código, e a qualidade dele se mede pela correção e pela quantidade de passos que gasta. Para praticar, comece pelo curso de Lógica de Programação, siga para o curso de Python e conheça todos os cursos gratuitos do ValorFinal.

Fontes e referências

Calculadoras deste guia

Leia também

Como citar esta página

Vai citar este guia em uma matéria, post ou trabalho? Copie a referência pronta. O conteúdo é baseado em NIST, Dictionary of Algorithms and Data Structures: algorithm e revisado pela equipe editorial.

ValorFinal. O que é algoritmo: significado, tipos e exemplos em pseudocódigo. Disponível em: https://valorfinal.com.br/guia/o-que-e-um-algoritmo. Atualizado em: 26/09/2026.

ValorFinal VIP: Sem anúncios no portal inteiro, cenários salvos e alertas por e-mail.

Como validamos este conteúdo

Base deste guia: NIST, Dictionary of Algorithms and Data Structures. Padrões, APIs, versões e recomendações técnicas evoluem. O conteúdo reflete a documentação de referência na data de atualização; confira sempre a documentação oficial da versão que você usa. Entenda nossa metodologia em como validamos os cálculos.

Perguntas frequentes

O que é um algoritmo em palavras simples?
Um algoritmo é uma sequência finita de passos bem definidos que resolve um problema ou realiza uma tarefa. Cada passo diz exatamente o que fazer, a ordem é fixa e, seguindo as instruções, sempre se chega a um resultado. A receita de bolo, o método da divisão no papel e o procedimento de saque do caixa eletrônico são algoritmos: recebem uma entrada, seguem passos e produzem uma saída.
Qual é a origem da palavra algoritmo?
A palavra algoritmo vem do nome do matemático persa Muhammad ibn Musa al-Khwarizmi, que escreveu por volta de 825 um livro com regras de cálculo usando os algarismos indianos. Nas traduções para o latim, o nome virou Algoritmi, e algorismus passou a significar o cálculo feito com esses algarismos. A palavra algarismo, em português, tem a mesma origem, e álgebra vem de outro livro do mesmo autor.
Quais são as características de um algoritmo?
As cinco características clássicas, descritas por Donald Knuth, são finitude (termina em um número finito de passos), definição (cada passo é preciso), entrada (recebe zero ou mais dados), saída (produz pelo menos um resultado) e efetividade (cada operação é simples o bastante para ser feita com lápis e papel). Além delas, um bom algoritmo precisa ser correto para toda entrada válida.
Quais são os tipos de algoritmo?
Pela estrutura, os algoritmos são sequenciais (passos em linha reta), com decisão (escolhem um caminho conforme uma condição), com repetição (repetem um bloco enquanto uma condição valer) e recursivos (resolvem o problema chamando a si mesmos para um caso menor). Pela finalidade, fala-se em algoritmos de busca, de ordenação, de caminho mínimo, de compressão e de criptografia, entre outros.
Qual a diferença entre algoritmo e programa?
O algoritmo é a solução pensada, independente de máquina e de linguagem. O programa é esse algoritmo escrito numa linguagem que o computador executa, como Python ou JavaScript. Um mesmo algoritmo pode virar programas em várias linguagens, e um programa grande reúne muitos algoritmos. Por isso a lógica vem antes da linguagem: quem entende o algoritmo troca de linguagem sem refazer o raciocínio.
O que é pseudocódigo?
Pseudocódigo é a escrita de um algoritmo em português estruturado, com palavras fixas como leia, escreva, se, senão, enquanto e para. Ele tem a precisão de um programa sem exigir as regras de uma linguagem real, por isso é usado para planejar e para ensinar. Uma das versões mais conhecidas no Brasil é o Portugol. Depois de pronto, o pseudocódigo é traduzido quase linha a linha para a linguagem escolhida.
O que é fluxograma e quais são os símbolos?
Fluxograma é o desenho de um algoritmo com formas geométricas ligadas por setas, com símbolos padronizados pela norma ISO 5807. Os mais usados são o oval para início e fim, o retângulo para uma ação ou um cálculo, o losango para uma decisão de sim ou não e o paralelogramo para entrada e saída de dados. O desenho ajuda a enxergar as decisões e os laços de repetição de um algoritmo.
Quais são exemplos de algoritmos no dia a dia?
Seguir uma receita, calcular o troco, conferir se um ano é bissexto, montar um móvel pelo manual e escolher o caminho para o trabalho são algoritmos do dia a dia. No celular, a busca de um contato, a ordenação dos e-mails por data, a rota do aplicativo de mapas e a conferência de um arquivo baixado usam algoritmos de busca, de ordenação, de caminho mínimo e de hash.
O que significa eficiência de um algoritmo?
Eficiência é a quantidade de trabalho que um algoritmo gasta conforme a entrada cresce, medida em passos, e não em segundos de relógio. Para achar um nome numa lista de 1 milhão de itens, a busca linear pode precisar de 1 milhão de comparações, enquanto a busca binária, com a lista em ordem, precisa de no máximo 20. Com poucos dados a diferença some; com muitos, ela decide se o programa responde na hora.
O que é um algoritmo recursivo?
Um algoritmo recursivo resolve um problema chamando a si mesmo para uma versão menor do mesmo problema, até chegar a um caso simples com resposta direta, o caso base. O fatorial é o exemplo clássico: o fatorial de 5 é 5 vezes o fatorial de 4, e assim por diante até o fatorial de 0, que vale 1. Sem caso base, as chamadas não terminam e o programa para com erro de estouro da pilha.
Algoritmo e inteligência artificial são a mesma coisa?
Não. Todo sistema de inteligência artificial é feito de algoritmos, mas a maior parte dos algoritmos não tem nada de inteligência artificial. Um algoritmo clássico segue regras escritas por uma pessoa, como a regra do ano bissexto. Em sistemas de aprendizado de máquina, um algoritmo de treinamento ajusta um modelo a partir de muitos exemplos, e é esse modelo ajustado que produz as respostas.
Como começar a aprender algoritmos do zero?
Comece descrevendo tarefas do dia a dia em passos numerados, depois reescreva em pseudocódigo usando só sequência, decisão e repetição, e confira cada algoritmo com um teste de mesa, executando no papel com dados de exemplo. O curso gratuito de Lógica de Programação do ValorFinal segue essa ordem, com um jogo em cada aula, e o curso de Python transforma os algoritmos em código que roda de verdade.