01 - O que é algoritmo

[1]Copyright © 2026 Alyce Suza.

1 - O que é Algoritmo?

Pensamento Computacional, Fluxogramas e Algoritmo Narrativo


1.1 O que é um Computador?

Um computador é uma máquina que executa instruções. Apenas isso. Ele não pensa, não sente, não improvisa e não tem bom senso. Se você não disser exatamente o que ele deve fazer, ele não vai adivinhar.

Analogia do Chef Alienígena Imagine um chef de cozinha que nunca viu comida humana.

Você não pode pedir "faça um bolo" - ele não sabe o que é bolo.

Você precisa explicar cada passo: pegue os ingredientes, meça as quantidades, misture nesta ordem...

Isso é programar: dar instruções precisas para quem não sabe nada além do que você explica.


1.2 Definição Formal de Algoritmo

Definição: Algoritmo (Cormen et al., 2009) Um algoritmo é uma sequência de passos FINITA, ORDENADA e SEM AMBIGUIDADE que resolve um problema específico.

  • Finita: tem começo e fim. Não pode durar para sempre.
  • Ordenada: a sequência importa. Trocar a ordem muda o resultado.
  • Sem ambiguidade: cada instrução tem um único significado possível.
  • Resolve um problema: sempre produz um resultado definido.

Cormen et al. (2009) "Um algoritmo é um procedimento computacional bem definido que toma algum valor como entrada e produz algum valor como saída. Um algoritmo é, portanto, uma sequência de etapas computacionais que transformam a entrada na saída."

— Cormen, T. H. et al. Introduction to Algorithms. 3. ed. MIT Press, 2009.


1.3 Algoritmos no Cotidiano

Você usa algoritmos todos os dias, mesmo sem perceber. Veja alguns exemplos:

Exemplo 1 - Algoritmo para fazer café

  1. Vá até a cozinha.
  2. Pegue a chaleira e encha com água filtrada.
  3. Ligue a chaleira na tomada e acione o botão.
  4. Aguarde a água ferver (indicador luminoso apagar).
  5. Pegue uma xícara limpa e posicione o suporte de filtro.
  6. Encaixe um filtro de papel no suporte.
  7. Coloque uma colher de sopa de café moído no filtro.
  8. Despeje lentamente a água quente sobre o café.
  9. Aguarde o café coar completamente (cerca de 2 minutos).
  10. Retire o suporte com o filtro usado.
  11. Adoce conforme preferência (0 colheres = sem açúcar; 1 colher = pouco doce; 2 = médio).
  12. Beba enquanto quente.
Atenção: Ambiguidade é o pior inimigo do algoritmo O passo "adoce conforme preferência" é AMBÍGUO para um computador.

Computadores não têm "preferências" - precisam de valores exatos.

Versão precisa: "Se gosta de café doce, adicione 2 colheres de açúcar. Caso contrário, não adicione."

Esta reformulação já usa uma estrutura de DECISÃO - conceito que você aprenderá no Capítulo 6.

Exemplo 2 - Algoritmo para verificar se um número é par

  1. Início.
  2. Receber o número do usuário.
  3. Dividir o número por 2 e verificar o RESTO da divisão.
  4. Se o RESTO for zero: o número é par.
  5. Se o RESTO for diferente de zero: o número é ímpar.
  6. Exibir o resultado.
  7. Fim.

Note como o Exemplo 2 é mais preciso que o Exemplo 1. "Verificar o RESTO da divisão" é uma instrução exata, não ambígua.

Exemplo 3 - Algoritmo para calcular média de duas notas

  1. Início.
  2. Pedir ao usuário a primeira nota e armazenar como Nota1.
  3. Pedir ao usuário a segunda nota e armazenar como Nota2.
  4. Calcular: Media = (Nota1 + Nota2) / 2.
  5. Exibir: "A média é: [valor calculado]"
  6. Se Media for maior ou igual a 6: exibir "Aprovado".
  7. Caso contrário: exibir "Reprovado".
  8. Fim.

1.4 Pensamento Computacional - os 4 Pilares

O Pensamento Computacional, formalizado por Wing (2006), é a habilidade de resolver problemas da forma que um computador processa. Não é pensar como uma máquina — é aprender a decompor e estruturar soluções.

Pilar Definição Exemplo
Decomposição Dividir o problema em partes menores. Pizza = massa + molho + montagem + assar
Reconhecimento Identificar padrões e repetições. Somar N números é sempre o mesmo processo.
Abstração Focar no essencial, ignorar o irrelevante. Área do quarto: irrelevante a cor da parede.
Algoritmo Criar os passos exatos da solução. Com os 3 pilares anteriores, montar o procedimento.

1.5 Fluxogramas - Algoritmos Visuais

Um fluxograma é a representação gráfica de um algoritmo. Em vez de texto, usamos formas geométricas e setas. É especialmente útil para visualizar decisões e repetições antes de escrever código.

Forma Significado
Oval (arredondado) INÍCIO e FIM do programa - sempre presente.
Retângulo Ação/processamento: calcular, armazenar, exibir.
Losango DECISÃO: pergunta de sim ou não. Tem duas saídas.
Paralelogramo ENTRADA (leia) ou SAÍDA (escreva) de dados.
Seta FLUXO: direção da execução entre os elementos.
Regras fundamentais do fluxograma

  1. SEMPRE começar com INÍCIO e terminar com FIM.
  2. O losango (decisão) SEMPRE tem DUAS saídas: SIM e NÃO.
  3. As setas nunca ficam soltas - cada elemento se conecta ao próximo.
  4. Não existe fluxo sem término - todo caminho leva ao FIM.


1.6 Algoritmo Narrativo - Escrevendo antes de Codificar

O algoritmo narrativo é escrito em linguagem natural, como se você estivesse explicando para um colega. É o PRIMEIRO passo antes de qualquer código. Permite identificar lacunas lógicas antes de escrever uma única linha de programa.

Boas práticas para escrever algoritmos narrativos:

Exemplo 4 - Narrativo para verificar maioridade

  1. Início.
  2. Solicitar ao usuário: "Qual é a sua idade?"
  3. Receber e armazenar a idade informada.
  4. Verificar: a idade é maior ou igual a 18?
  5. Se SIM: exibir "Você é maior de idade."
  6. Se NÃO: exibir "Você é menor de idade."
  7. Fim.

Exemplo 5 - Narrativo para classificar nota escolar

  1. Início.
  2. Solicitar ao usuário a nota do aluno (valor de 0 a 10).
  3. Receber e armazenar a nota.
  4. Verificar: nota é maior ou igual a 9?
  5. Se SIM: exibir "Conceito: Excelente" e ir ao passo 9.
  6. Se NÃO: verificar se nota é maior ou igual a 7.
  7. Se SIM: exibir "Conceito: Bom" e ir ao passo 9.
  8. Se NÃO: verificar se nota é maior ou igual a 5.
  9. Se SIM: exibir "Conceito: Regular". Se NÃO: exibir "Conceito: Insuficiente".
  10. Fim.

1.7 Primeiro Contato com o Portugol.dev

Acesse https://portugol.dev. Você verá um editor (esquerda) e um console de saída (direita). Todo programa em Portugol tem a seguinte estrutura obrigatória:

// Comentário: o computador ignora tudo após duas barras
// Use para documentar seu código

programa
{
    funcao inicio()
    {
        // Todo o seu código fica AQUI, dentro destas chaves
    }
}
Explicando cada parte

  • programa - palavra que inicia o programa.
  • { } - delimitam blocos. Todo o conteúdo do bloco fica entre as chaves.
  • funcao inicio() - ponto de partida. A execução SEMPRE começa aqui.
  • // - comentário. O computador ignora, mas ajuda humanos a entender.
  • Indentação (espaços) - não obrigatória, mas ESSENCIAL para legibilidade.

Exemplo: Olá, Mundo!

programa
{
    funcao inicio()
    {
        escreva("Ola, Mundo!")
    }
}

Execute com F5 ou clicando em Executar. A saída Ola, Mundo! aparecerá no console.

Exemplo: exibindo múltiplas linhas

programa
{
    funcao inicio()
    {
        escreva("Linha 1\n")
        escreva("Linha 2\n")
        escreva("Linha 3\n")
    }
}

O \n dentro das aspas é um caractere de nova linha - faz o cursor pular para a próxima linha.

Embasamento Histórico — A Origem dos Algoritmos O termo "algoritmo" deriva do nome do matemático Muhammad ibn Musa al-Khwarizmi (c. 780–850 d.C.).

Sua obra "Kitab al-mukhtasar fi hisab al-jabr wal-muqabala" introduziu no ocidente o conceito de procedimento sistemático.

A formalização matemática veio com Alan Turing (1936): "On Computable Numbers" demonstrou que qualquer algoritmo pode ser executado por uma máquina abstrata finita.

Hoje, tudo que um computador faz - de jogos a inteligência artificial - é, em essência, um algoritmo.


1.8 Exercícios do Capítulo 1

Instrução sobre os Exercícios Tente resolver ANTES de consultar o gabarito.

O gabarito está reunido ao final do livro, na seção GABARITO.

Anote suas tentativas - comparar seu raciocínio com a solução é fundamental para aprender.


Exercício 1.1 - Algoritmo narrativo: trocar pneu furado Escreva um algoritmo narrativo detalhado para trocar um pneu furado.

Considere: ferramentas necessárias, segurança, sequência de remoção e instalação.

Pense em tudo que pode dar errado se a ordem for trocada.

Dica: Pense em fases: segurança → ferramentas → remoção → instalação → finalização.


Exercício 1.2 - Algoritmo narrativo: calcular troco Escreva um algoritmo narrativo para um caixa de supermercado calcular o troco.

Dados: valor total da compra e valor entregue pelo cliente.

Considere: o que acontece se o valor entregue for menor que o total?

Dica: O troco só pode existir quando o valor pago é MAIOR que o total.


Exercício 1.3 - Seu primeiro programa No Portugol.dev, escreva um programa que exiba:

  • Linha 1: Seu nome completo
  • Linha 2: Sua cidade e estado
  • Linha 3: Seu curso

Use o \n para quebrar as linhas.

Dica: Troque apenas o texto dentro das aspas no comando escreva().



  1. Copyright © 2026 Alyce Suza. Todos os direitos reservados nos termos da Lei 9.610/98. O conteúdo publicado no site https://wiki.suzacybersecurity.com/ é protegido pelas diretrizes brasileiras de propriedade intelectual e a sua autoria é reconhecida desde o momento da criação técnica. O compartilhamento, a reprodução e a distribuição deste material são permitidos e incentivados apenas para finalidades educacionais, acadêmicas ou de consulta técnica, sendo estritamente vedado qualquer tipo de uso comercial. Para que a replicação seja validada e legal, você deve obrigatoriamente atribuir os devidos créditos a Alyce Suza e fornecer um link direto e acessível para a publicação original. A utilização deste material para obter lucro, monetização, venda de materiais ou qualquer vantagem financeira constitui violação de direitos autorais e está sujeita às sanções legais cabíveis, assim como alterações que modifiquem o sentido original das explicações sobre segurança da informação. Para eventuais dúvidas sobre permissões de uso, parcerias ou para reportar replicações indevidas, envie um e-mail para alycesuza@gmail.com. ↩︎