Algoritmos

Bruno PontesBruno Pontes
5 min read

Algoritmos são um tema fundamental. Mesmo antes de escrever a primeira linha de código, entender esse conceito é imprescindível, pois ele abre nossos olhos para algo que já usamos no dia a dia sem perceber.

A diferença é que, no desenvolvimento de software, passamos a aplicar esses algoritmos de forma consciente e estruturada, para resolver problemas de maneira clara e eficiente.

Essa é a chave: transformar o que antes era intuitivo em algo que pode ser planejado, reproduzido e melhorado.

Se você também está começando, acompanhe comigo — e compartilhe suas dúvidas e experiências nos comentários. 🚀

Definição

Um algoritmo pode ser entendido como “uma sequência de passos para resolver um problema”. Essa é a forma como eu gosto de definir, mas não é a única. Vamos explorar também outras definições para ampliar nossa visão.

No livro, Introduction to Algorithms, é definido como “uma sequência de passos computacionais que transforma a entrada na saída”.

O dicionário Cambridge define como “um conjunto de instruções ou regras matemáticas que, especialmente se dadas a um computador, ajudarão a calcular uma resposta para um problema”.

Algoritmos no nosso cotidiano

Você já foi naquele site de receitas, ou pesquisou um vídeo para fazer aquele bolo que você gosta? Você já parou no sinal de transito com seu carro, esperando o sinal abrir para passar? Você já tentou montar um quebra cabeça? Você já tentou montar um móvel sozinho?

Todas essas coisas são algoritmos, porém são todas feitas de intuição, você nem sempre planeja como fazer essas coisas, mas todas tem a clara definição de um algoritmo.

Mas como “parar no semáforo é um algoritmo”?

Simples, para mostrar na prática como um algoritmo funciona, vamos fazer um algoritmo para responder essa pergunta.

  1. Definimos o que é um algoritmo, vamos pegar essa: “é um conjunto de instruções que transforma um ou mais dados em uma solução para um problema“ (pode pegar qualquer definição do tópico Definição).

  2. Vamos pegar os Dados que temos:

    1. Como saber quais são os dados nesse caso, fazemos perguntas que afetam a resolução do nosso problema:

      1. Quantas cores tem o semáforo?

        1. Qual a cor do sinal no semáforo?

          1. O que significa a cor do semáforo?
      2. O carro está em movimento ou parado?

    2. Agora vamos responder essas perguntas:

      1. O semáforo tem 3 cores.

        1. Vermelho.

          1. O carro deve parar.
        2. Amarelo

          1. Atenção, começar a parar
        3. Verde

          1. Continuar
      2. O carro está em movimento.

  3. Vamos pegar os dados e executar as instruções.

    1. Semáforo vermelho:

      1. Se meu carro está em movimento.

        1. E o semáforo está vermelho.

          1. Parar o carro.
      2. Se meu carro está parado.

        1. E o semáforo está vermelho.

          1. Continuar parado.
    2. Semáforo amarelo:

      1. Se meu carro está em movimento.

        1. E o semáforo está amarelo.

          1. Iniciar processo de parada.
      2. Se meu carro está parado.

        1. E o semáforo está amarelo.

          1. Continuar parado.
    3. Semáforo verde:

      1. Se meu carro está em movimento

        1. E o semáforo está verde

          1. Continuar se movendo
      2. Se meu carro está parado

        1. E o semáforo está verde

          1. Começar a se mover

Fluxograma

O fluxograma é definido como uma representação visual de um fluxo de trabalho, no nosso caso será os algoritmos. Neste momento nos atentaremos apenas para o básico do fluxograma, mas deixarei essa referência para que possam ler esse artigo, que contém bastando conteúdo explicando o fluxograma, história e também mais formas usadas [O que é um fluxograma?].

Aqui está um exemplo de fluxograma, é o mesmo exemplo de como verificar se um número é maior que 5.

Pseudocódigo

O que é isso? Onde vive? Do que se alimenta? kkkk

Essa é uma forma visual, bem semelhante a um código de verdade, que representa como funciona o desenvolvimento em linguagens de programação. Em português temos a “linguagem” portugol, que é uma linguagem que é usada para aprender esse pseudocódigo, porém, para ensinar pseudocódigo mais geral, usando já os termos em inglês, como é em todas as linguagem de programação, usa-se o Pascal.

Agora que temos uma noção do que significa esse pseudocódigo, vamos olhar como ele é montado, vou mostrar o portugol, somente para fins de conhecimento, porém usaremos o Pascal para futuros aprendizados.

Código para checar se um número é maior que 5 ou não:

Portugol

programa { 
  funcao inicio() {
    inteiro numero = 3

    se (numero > 5) {
      escreva("Número MAIOR que 5")
    } senao {
      escreva("Número MENOR que 5")
    }
  }
}

Pascal

program MaiorQueCinco;
var
    numero : integer;
begin
  numero := 3;

  if numero > 5 then
    write('Número MAIOR que 5')
  else
    write('Número MENOR que 5')  
end.

Por que esse conteúdo é importante?

Uma das atividades que mais fazemos no desenvolvimento de software — seja ajustando ou criando algo novo — é pensar e planejar. Se quisermos fazer as coisas da maneira correta, precisamos parar, entender e organizar nossas ideias antes de sair escrevendo código. Afinal, código é uma expressão pessoal: cada pessoa tem a sua forma de pensar. E se simplesmente mudarmos sem refletir, corremos o risco de quebrar partes que não deveriam ser alteradas.

As ideias apresentadas aqui são justamente para ajudar nesse processo: imaginar como resolver um problema e testar a lógica antes de codificar. Ferramentas como pseudocódigo e fluxogramas tornam esse raciocínio mais estruturado, permitindo avaliar se a solução realmente faz sentido.

Na programação, nem sempre precisamos usar todo o conhecimento que temos para resolver um problema simples. Como diz o ditado: “não se leva uma arma para uma briga de facas”. Isso significa que devemos escolher a abordagem certa: às vezes a solução simples é a mais eficiente.

Esse “pré-desenvolvimento”, usando pseudocódigo e fluxogramas, é essencial para abrir nossa mente, organizar ideias e compreender melhor a lógica que precisamos aplicar.

0
Subscribe to my newsletter

Read articles from Bruno Pontes directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Bruno Pontes
Bruno Pontes