O que é um algoritmo: definição, exemplos e como funciona

O que é um algoritmo explicado do zero: definição simples, exemplos do dia a dia, as propriedades, como se representa (pseudocódigo e fluxograma), os três blocos básicos e a relação com o programa.

Revisado pela equipe editorial ValorFinalMaterial educacional gov.br e MDN Web Docs
Calcule agora: JSON FormatterResultado na hora, de graça e sem cadastro.

Algoritmo é uma sequência finita de passos bem definidos que resolve um problema. Não precisa ser sobre computadores: quando você segue uma receita de bolo ou o roteiro para trocar um pneu, está executando um algoritmo. A palavra assusta, mas a ideia é simples e você já usa o tempo todo. Este guia explica do zero o que é um algoritmo, as suas propriedades, como escrever um e por que ele vem antes do código. Para aprender a montar algoritmos na prática, com exercícios no navegador e certificado, use o curso de Lógica de Programação, gratuito.

Resposta rápida

  • Algoritmo é uma sequência finita de passos bem definidos que resolve um problema.
  • Todo algoritmo tem entrada, passos claros, um fim e uma saída.
  • Você o descreve em linguagem natural, pseudocódigo ou fluxograma.
  • Três blocos montam quase tudo: sequência, decisão e repetição.

Um exemplo que você já conhece

Pense na receita de um bolo. Ela lista os ingredientes (a entrada) e diz o que fazer, passo a passo: bater os ovos, misturar a farinha, levar ao forno por quarenta minutos. Você segue a ordem, cada passo é claro o bastante para não ficar em dúvida, e em algum momento a receita termina. No fim, sai o bolo (a saída). Trocar um pneu é igual: erguer o carro, soltar os parafusos, tirar o pneu furado, colocar o estepe, apertar os parafusos, abaixar o carro. Um algoritmo é exatamente isso, só que pensado para resolver um problema qualquer, muitas vezes com a ajuda de um computador.

As propriedades de um algoritmo

Nem toda lista de instruções é um bom algoritmo. Para valer o nome, ele precisa respeitar algumas propriedades. Elas parecem óbvias na receita, mas são fáceis de esquecer quando o problema fica complicado.

Como se representa um algoritmo

Antes de virar código, o algoritmo mora numa forma mais solta. Existem três jeitos comuns de escrevê-lo, e cada um serve a um momento.

FormaComo é e quando usar
Linguagem naturalOs passos escritos em português comum. Boa para explicar a ideia para alguém, mas pode ficar ambígua.
PseudocódigoUma escrita quase de programa, com "se", "enquanto" e "leia", mas sem regras rígidas de linguagem. Ótima para organizar a lógica antes de codar.
FluxogramaUm desenho com caixas e setas. Ajuda a enxergar decisões e laços, útil para explicar visualmente.

Os três blocos que montam quase tudo

Por mais complexo que pareça, quase todo algoritmo se resume a combinar três blocos de construção. Aprender a encaixá-los é a base da lógica de programação.

Um algoritmo passo a passo: a média de três notas

Vamos montar um algoritmo que lê três notas, calcula a média e diz se o aluno passou ou não. Ele usa os três blocos: sequência para ler e calcular, decisão para o veredito. Em pseudocódigo fica assim:

Algoritmo MediaDeNotas
    leia nota1
    leia nota2
    leia nota3

    media <- (nota1 + nota2 + nota3) / 3

    escreva "Media:", media

    se media >= 6 entao
        escreva "Aprovado"
    senao
        escreva "Reprovado"
    fim se
Fim

Repare que os passos estão em ordem (sequência), que a média é calculada uma vez e guardada numa variável, e que a última parte escolhe entre "Aprovado" e "Reprovado" conforme a condição (decisão). Esse pseudocódigo não roda em nenhum computador ainda, mas descreve a lógica sem depender de linguagem. Traduzir isso para Python, JavaScript ou qualquer outra linguagem é quase mecânico depois que a lógica está clara.

Um problema, vários algoritmos: a ideia de eficiência

O mesmo problema costuma ter mais de uma solução, e nem toda solução gasta o mesmo trabalho. Suponha que você precise achar um nome numa lista. Se a lista está embaralhada, não há jeito: você olha item por item até achar, e no pior caso percorre a lista inteira. Se a lista está em ordem alfabética, dá para abrir no meio, ver se o nome procurado vem antes ou depois e descartar metade da lista de uma vez, repetindo até sobrar um item. Essa segunda ideia é a busca binária.

Com dez nomes a diferença mal aparece. Com um milhão, a busca item por item pode olhar um milhão de vezes, enquanto a busca binária resolve em cerca de vinte passos. É por isso que a eficiência importa: ela mede quantos passos e quanta memória o algoritmo gasta conforme os dados crescem. Escolher um algoritmo mais eficiente é o que faz um programa responder rápido em vez de travar. No começo, não se preocupe em otimizar tudo; primeiro faça funcionar, depois aprenda a comparar soluções.

Do algoritmo ao programa

Algoritmo e programa não são a mesma coisa. O algoritmo é a solução pensada, os passos que você rascunhou no papel ou no pseudocódigo. O programa é esse algoritmo escrito numa linguagem que o computador executa. Um único algoritmo pode virar programa em Python, em JavaScript ou em C, com pequenas diferenças de escrita, mas a mesma lógica por baixo. Por isso a ordem certa de aprender é lógica primeiro, linguagem depois: quem entende de algoritmo troca de linguagem sem sofrer, porque o raciocínio é o mesmo.

O curso de Lógica de Programação ensina a pensar em passos, usar decisão e repetição e montar pseudocódigo, tudo no navegador e sem custo. Quando quiser transformar esses algoritmos em código que roda de verdade, siga para o curso de Python do zero. Primeiro a lógica, depois a linguagem.

Erros comuns de quem está começando

Fontes

Conclusão

Um algoritmo é uma sequência finita de passos bem definidos que resolve um problema, com entrada, passos claros, fim e saída. Você o rascunha em linguagem natural, pseudocódigo ou fluxograma, e o monta com três blocos: sequência, decisão e repetição. Depois traduz para uma linguagem e ele vira um programa. A melhor forma de fixar é praticar montando os seus próprios algoritmos. Comece pelo curso de Lógica de Programação, transforme o que aprender em código no curso de Python do zero e conheça todos os cursos gratuitos do ValorFinal.

Calculadoras deste guia

Fontes oficiais

Links externos para os documentos oficiais consultados na construção desta página. O conteúdo deles pode mudar sem aviso; em caso de divergência, vale sempre a fonte oficial.

Como validamos os cálculos

Os valores citados neste guia são estimativos e baseados em fontes oficiais (Material educacional gov.br e MDN Web Docs). Eles podem variar conforme convenção coletiva, situação individual e atualizações da legislação. Entenda nossa metodologia em como validamos os cálculos.

Perguntas frequentes

O que é um algoritmo em poucas palavras?
Um algoritmo é uma sequência finita de passos bem definidos que resolve um problema ou realiza uma tarefa. Cada passo é claro e não deixa dúvida sobre o que fazer, e a sequência sempre termina, entregando um resultado. A receita de um bolo e o roteiro para trocar um pneu são algoritmos do dia a dia: recebem uma entrada, seguem passos na ordem certa e produzem uma saída.
Qual a diferença entre algoritmo e programa?
O algoritmo é a ideia da solução, os passos na sua cabeça ou no papel. O programa é esse algoritmo escrito numa linguagem que o computador executa, como Python ou JavaScript. Um mesmo algoritmo pode virar programa em várias linguagens. Primeiro você pensa a lógica, depois traduz para o código. Por isso lógica de programação vem antes de decorar a sintaxe de uma linguagem.
Como se escreve um algoritmo antes de programar?
As três formas mais comuns são a linguagem natural (descrever os passos em português), o pseudocódigo (uma escrita quase de programa, mas livre de regras rígidas) e o fluxograma (um desenho com caixas e setas). Muita gente rascunha em pseudocódigo porque ele já organiza a lógica sem prender a nenhuma linguagem, o que facilita traduzir depois para código de verdade.
Quais são os blocos básicos de um algoritmo?
São três: sequência (executar um passo após o outro, na ordem), decisão (escolher um caminho conforme uma condição, o famoso se/senão) e repetição (repetir passos enquanto uma condição valer, os laços). Com esses três blocos você monta praticamente qualquer algoritmo, do mais simples ao mais complexo. Aprender a combiná-los é a base da lógica de programação.
O que é a eficiência de um algoritmo?
Dois algoritmos podem resolver o mesmo problema, mas um faz menos trabalho que o outro. Eficiência mede quantos passos e quanta memória o algoritmo gasta conforme os dados crescem. Procurar um nome numa lista embaralhada exige olhar item por item; numa lista ordenada dá para descartar metade a cada tentativa. Com poucos dados a diferença some, mas com milhões ela decide se o programa responde rápido ou trava.
Onde aprendo a montar algoritmos do zero, sem instalar nada?
O curso de Lógica de Programação do ValorFinal ensina a pensar em passos, usar decisão e repetição e montar pseudocódigo, tudo no navegador e sem custo. Depois, o curso de Python do zero transforma esses algoritmos em código que roda de verdade. É a sequência natural: primeiro a lógica, depois a linguagem.