Angola e Portugal · todas as cidades Subdomínios em perfilvia.com
Programação e informática

O que é um algoritmo? Explicação simples com exemplos

Descobre o que é um algoritmo, como se representa em fluxograma e pseudocódigo e como medir se é eficiente, com exemplos do dia a dia.

· 3 min de leitura · Equipa Comunidade Sempre Online

Ilustração sobre o que é um algoritmo – guia do blog Comunidade Sempre Online

A palavra "algoritmo" assusta muita gente, mas o conceito é simples: é uma sequência finita de passos bem definidos para resolver um problema. Uma receita de cozinha é um algoritmo. As indicações para chegar a uma morada também. Em informática, o que muda é que quem executa os passos é um computador.

Definição simples

Um algoritmo tem características importantes:

  1. Entrada: os dados com que começa (ingredientes, números, texto).
  2. Passos claros: cada instrução tem um único significado.
  3. Ordem definida: sabe-se o que vem primeiro e o que vem depois.
  4. Fim: termina num número finito de passos.
  5. Saída: produz um resultado.

Exemplos do dia a dia

Trocar uma lâmpada

  1. Desliga a luz.
  2. Retira a lâmpada fundida.
  3. Coloca a nova.
  4. Liga a luz.
  5. Se não acender, verifica se a lâmpada está bem enroscada.

Repara que o último passo é uma decisão: "se não acender". Os algoritmos também decidem.

Levantar dinheiro num multibanco

  1. Inserir o cartão.
  2. Digitar o PIN.
  3. Escolher o valor.
  4. Se o saldo for suficiente, entregar o dinheiro; senão, mostrar mensagem de erro.
  5. Devolver o cartão.

Representar um algoritmo

Há três formas comuns.

Linguagem natural

Escrever os passos em português, como acima.

Pseudocódigo

Uma mistura de português com estrutura de programação, sem regras rígidas:

início
  ler número
  se número % 2 = 0
    escrever "par"
  senão
    escrever "ímpar"
fim

Fluxograma

Um desenho com caixas e setas: retângulos para ações, losangos para decisões e setas a mostrar o caminho. É muito usado no ensino para visualizar a lógica.

Do algoritmo ao programa

Um programa é um algoritmo escrito numa linguagem de programação. O algoritmo do "par ou ímpar" fica, em Python:

n = int(input("Número: "))
print("par" if n % 2 == 0 else "ímpar")

O mesmo algoritmo pode ser escrito em Python, JavaScript, C ou qualquer outra linguagem. A ideia é a mesma.

Um exemplo clássico: procurar um número numa lista

Pesquisa linear: vê elemento a elemento até encontrar. Funciona sempre, mas pode ser lenta numa lista enorme.

Pesquisa binária: só funciona numa lista ordenada. Vês o elemento do meio: se for o que procuras, terminas; se for maior, descartas a metade de cima; se for menor, descartas a de baixo. Repete na metade que sobra.

def pesquisa_binaria(lista, alvo):
    inicio, fim = 0, len(lista) - 1
    while inicio <= fim:
        meio = (inicio + fim) // 2
        if lista[meio] == alvo:
            return meio
        if lista[meio] < alvo:
            inicio = meio + 1
        else:
            fim = meio - 1
    return -1

print(pesquisa_binaria([2, 5, 8, 12, 16, 23, 38], 16))  # 4

Numa lista com um milhão de números, a pesquisa binária precisa de cerca de 20 passos; a linear pode precisar de um milhão. A escolha do algoritmo faz uma enorme diferença.

Algoritmos eficientes: o que significa

Medimos a eficiência pelo tempo e pela memória que o algoritmo gasta à medida que os dados crescem. Os programadores usam a notação Big O (por exemplo, O(n) para a pesquisa linear e O(log n) para a binária). No início, basta perceber a ideia: dois algoritmos que dão o mesmo resultado podem ter custos muito diferentes.

Algoritmos que usas todos os dias

  • O motor de busca que ordena resultados.
  • O GPS que calcula o caminho mais curto.
  • As redes sociais que decidem o que te mostrar.
  • O banco que verifica se uma transação é suspeita.

Como praticar

Treina com exercícios de lógica de programação e aprende como se guardam os dados em estruturas de dados básicas. Se estás a estudar informática e precisas de ajuda, temos aulas básicas de informática.

Perguntas frequentes

Algoritmo e programa são a mesma coisa?

Não. O algoritmo é a ideia, os passos para resolver o problema. O programa é a sua implementação numa linguagem concreta.

Preciso de matemática avançada para entender algoritmos?

Para os conceitos básicos, não. Matemática mais avançada ajuda em algoritmos mais complexos.

Qual o melhor algoritmo?

Depende do problema, do tamanho dos dados e dos recursos. Não existe um único melhor para tudo.

Se quiseres ajuda

Podemos fazer isto contigo.

Ver todos os serviços
Fala connosco

Tens uma dúvida sobre este tema?

Escreve-nos pelo WhatsApp e respondemos com preço, disponibilidade e prazo, se precisares de um serviço.

Falar no WhatsApp
Todo o projeto tem um orçamento. O valor final é confirmado conforme o serviço.
WhatsApp · Falar agora