Skip to main content

Command Palette

Search for a command to run...

Conceitos e Representação de Algoritmos

Updated
5 min read

Hoje vamos sanar duas dúvidas:

  • Conceito e

  • Representação de Algoritmo

O que é um algoritmo?

Quando vamos fazer um café, precisamos de uma sequencia de passos ou instruções.

Como fazemos um café?

  1. Esquentamos a água.

  2. Colocamos o pó de café no filtro.

  3. Despejamos a água quente.

  4. Esperamos coar.

  5. Servimos o café.

Todo esse passo a passo, é um algoritmo para fazer café!

Um algoritmo nada mais é do que um passo a passo, ou seja, instruções para resolver um problema.

Tem início, meio e fim, e cada passo depende do anterior.

Qualquer pessoa que queira fazer um café, basta seguir esse passo a passo que vai ter o mesmo resultado.


Algoritmo no mundo da computação

No computador, um algoritmo é um conjunto de instruções que diz a ele o que fazer e em que ordem fazer.
Ele pode processar dados, tomar decisões, repetir ações e produzir resultados.


Representando um algoritmo

Antes de escrever código, precisamos pensar em sua lógica.
E pra isso, usamos formas de representar o algoritmo.

Vamos usar um outro exemplo para ilustrar isso.

Para isso vamos resolver o seguinte problema, “Como saber se um número é par ou ímpar?”

1. Linguagem natural (texto)

É quando descrevemos o algoritmo em frases normais, para saber se um número é par ou ímpar, podemos dizer que:

“Dado um número, dividimos ele por 2, se o resto da divisão for 0 o número é par, caso contrário é impar”

2. Pseudocódigo

É como um meio-termo entre português e código de verdade, esboçamos o que o código deve fazer.

Exemplo:

inicio
    leia número
    resto ← número % 2

    se resto = 0 então
        escreva "O número é par"
    senao
        escreva "O número é ímpar"
    fimse

fim

Não é uma linguagem de programação real, mas ajuda a visualizar a lógica antes de programar.

3. Fluxograma

O fluxograma é uma das formas mais antigas e organizadas de representar passo a passo um processo, seja ele uma receita, uma tarefa de trabalho ou até um algoritmo.

A primeira forma estruturada de documentar o fluxo de um processo foi criada em 1921 por Frank e Lillian Gilbreth, um casal de engenheiros!
Eles apresentaram o conceito em um artigo chamado “Process Charts: First Steps in Finding the One Best Way to do Work” para a ASME (American Society of Mechanical Engineers).

A ideia era simples, mas revolucionária para a época:
mostrar graficamente cada etapa de um trabalho para identificar desperdícios, melhorar o fluxo e encontrar “a melhor forma” de fazer algo.

Com o tempo, essa forma de representação evoluiu e passou a ser usada em várias áreas, inclusive na programação, para descrever algoritmos, que nada mais são do que instruções passo a passo para resolver um problema.

E assim usamos símbolos e setas para representar as etapas:

  • Círculo ou Elipse → início ou fim

  • Retângulo → ação (ex: calcular, somar)

  • Losango → decisão (ex: se / senão)

  • Setas → o fluxo da execução

Continuando com nosso exemplo anterior, temos:

  • Início (elipse) → indica o ponto de partida do algoritmo.

  • Leia número (retângulo) → representa a ação de entrada de dados, ou seja, o programa pede ao usuário que digite um número.

  • Resto ← número % 2 (losango) → é a etapa de decisão. O algoritmo calcula o resto da divisão do número por 2 e usa esse valor para decidir o próximo passo.

    • Se o resto for 0, significa que o número é par.

    • Se o resto for diferente de 0, o número é ímpar.

  • Escreva “O número é par” (retângulo) → ação executada se a condição for verdadeira (resto = 0).

  • Escreva “O número é ímpar” (retângulo) → ação executada se a condição for falsa (resto ≠ 0).

  • Fim (elipse) → indica o término do algoritmo.

4. Portugol

Depois de desenhar o fluxograma, podemos escrever o mesmo algoritmo em forma de Portugol.

O Portugol é uma forma de escrever algoritmos em português, de maneira parecida com um código de verdade, mas sem precisar se preocupar com a sintaxe complicada de uma linguagem de programação.

É como se fosse um “meio do caminho” entre o pensamento lógico e a programação real, perfeito pra quem está começando, pois é uma forma de Pseudocódigo.

Há algumas divergências sobre quem exatamente criou o Portugol, mas o que se sabe é que ele surgiu entre 1980 e 1983, inspirado na linguagem Pascal (que, por sua vez, vem da ALGOL, uma linguagem usada em grandes computadores da época, os famosos mainframes).

Segundo registros do blog do site Portugol VisuAlg, o projeto foi iniciado pelo professor Antônio Carlos Nicolodi, que traduziu conceitos da Pascal para o português, criando uma forma didática de ensinar lógica de programação.

Na época, o Portugol não era uma linguagem de programação “de verdade”, com compilador e tudo mais.
Era apenas uma forma estruturada de escrever algoritmos em português, pra facilitar o aprendizado.

Com o tempo, surgiram implementações que simulam a execução de um algoritmo em Portugol, como o VisuAlg, que até hoje é muito usado em escolas e universidades. Eu não gosto pessoalmente haha.

algoritmo "par_ou_impar"

var
    numero, resto: inteiro

inicio
    leia(numero)

    resto <- numero % 2

    se (resto = 0) entao
        escreva("O número é par")
    senao
        escreva("O número é ímpar")
    fimse

fimalgoritmo

Por que representar algoritmos?

Porque é muito mais fácil entender a lógica e encontrar erros antes de escrever o código.
A ideia é que primeiro escrever o esboço, ou parte dele, e depois escrever o código.

Pular direto pro código pode até sair algo, quando isso acontece, geralmente sempre estamos revisando e quebrando em partes, mas dificilmente sai do jeito certo quando é algo muito grande. 😅


Dica final 💡

Quando for criar um algoritmo, pense sempre assim:

  1. Qual é o problema que quero resolver?

  2. Quais dados preciso (entradas)?

  3. O que preciso fazer com eles (processamento)?

  4. O que quero mostrar no final (saída)?

Esses três passos, entrada, processamento e saída, formam a base de qualquer programa.