Algoritmo

O que é um algoritmo?

Um algoritmo é uma sequência de instruções ou comandos realizados de maneira sistemática com o objetivo de resolver um problema ou executar uma tarefa.

Os algoritmos são como uma receita de bolo: uma sequência de ações que devem ser executadas até que o objetivo final - o bolo pronto - seja atingido.

Os algoritmos se aplicam das tarefas simples do dia a dia a programas computacionais complexos e ferramentas que identificam o comportamento do consumidor na internet.

Todas as funções dos computadores, smartphones e tablets, por exemplo, são resultado de algoritmos. Essas máquinas são capazes de realizar milhares de comandos em poucos segundos.

Os algoritmos podem ser usados em atividades simples do dia a dia

Todas as tarefas que executamos no dia a dia podem ser transformadas em algoritmos, basta destrinchar todas as ações necessárias para se chegar ao objetivo determinado.

Se fizéssemos um algoritmo para o preparo do café, por exemplo, poderíamos ter as seguintes etapas: ferver a água; colocar o pó no filtro; desligar a água; passar a água pelo pó de café.

Os algoritmos utilizados em computadores são mais complexos e também envolvem possibilidades. Considere o exemplo de um mouse sobre um navegador de internet.

O comando de fechar a tela é dado por um algoritmo que entende que se o mouse clicar no “x” a página deve ser fechada e se o mouse não clicar no “x” nada deve ser feito.

Esse algoritmo pode ser estruturado em um fluxograma:

Algoritmo

Basicamente, os algoritmos são compostos por dados de entrada (input), processamento e dados de saída (output). Essa estrutura pode ser facilmente entendida com o exemplo de uma calculadora:

  • Dados de entrada: valores e operações a serem realizadas
  • Processamento: cálculos realizados pela máquina
  • Dados de saída: resultado da operação

Os algoritmos são usados na programação computacional

Algoritmo é um conceito muito importante para a programação computacional, pois todas as máquinas e programas de computador funcionam a partir de sequências de ações finitas que levam à realização de uma tarefa.

Isso significa que por trás de cada ação que um programa de computador desempenha, há uma infinidade de comandos destrinchados passo-a-passo que permitem a conclusão dessa ação.

O papel da pessoa que faz a programação dos computadores e softwares é pensar em etapa por etapa e descrevê-las de maneira objetiva e clara para que o computador possa realizá-las.

Um exemplo seria um programa que mostra se um aluno foi aprovado ou não em determinada disciplina. Nesse caso, os comandos seriam:

  1. Coletar a nota nas duas provas realizadas;
  2. Calcular a média aritmética entre elas;
  3. Se o resultado for maior que 7, o aluno foi aprovado;
  4. Se o resultado for menor que 7, o aluno foi reprovado.

No entanto, os computadores não entendem a linguagem escrita dessa maneira, por isso os programadores devem "traduzir" esses comandos para linguagens de programação. Alguns exemplos de linguagem de programação são:

  • Java
  • Linguagem C
  • Linguagem C++
  • Linguagem C#
  • Python

As operações de um algoritmo são realizadas de maneira muito rápida pelas máquinas. Um computador de 4 GHz, por exemplo, é capaz de realizar 4 bilhões de operações em 1 segundo.

Essa velocidade de operação trouxe inúmeras facilidades, pois as máquinas podem fazer em pouquíssimo tempo cálculos que o ser humano levaria dias, meses ou até mesmo anos para realizar.

Algoritmos e sua relação com motores de buscas e redes sociais

Os algoritmos também são usados na internet, especialmente com o objetivo de identificar o perfil do usuário e assim oferecê-lo conteúdos e produtos de acordo com suas preferências.

O algoritmo mais importante da internet é, sem dúvidas, o PageRank, algoritmo do Google criado em 1998.

O PageRank faz a indexação de todos os site e páginas que existem na internet e os organiza de acordo com a sua relevância. Esse algoritmo tinha uma estrutura mais simples quando foi criado e foi sendo aperfeiçoado ao longo dos anos.

Hoje o algoritmo do Google faz uma classificação dos sites para uma determinada palavra-chave considerando o perfil e a localização do usuário, a qualidade dos conteúdos disponíveis na internet e outras centenas de variáveis.

Redes sociais

As redes sociais também são programadas com complexos algoritmos. Os feeds do Facebook, Instagram e Twitter, por exemplo, mostram postagens e anúncios de acordo com o comportamento do usuário.

Isso significa que nem todas as postagens de seus amigos irão aparecer no seu feed. Os algoritmos dessas redes sociais selecionam as que fazem mais sentido de acordo com a sua preferência.

O algoritmo do Facebook, chamado de EdgeRank, por exemplo, seleciona os conteúdos mais relevantes para você de acordo com inúmeros fatores:

  • Publicações e páginas que você curte;
  • Pessoas com quem você interage;
  • Páginas em que você deixa comentários;
  • Seus compartilhamentos.

É por isso que sempre recebemos anúncios de produtos os serviços que já buscamos na internet. O marketing é muito mais efetivo com a utilização dos algoritmos do que se os anúncios aparecessem de maneira aleatória.

O Spotify é outro exemplo de aplicativo e rede social que utiliza algoritmos para oferecer aos usuários uma experiência mais personalizada. Todas as semanas o aplicativo oferece uma playlist chamada “Descobertas da semana”.

Essa playlist contém 30 músicas que nunca foram tocadas pelo usuário no aplicativo, mas que são parecidas com outras músicas que ele costuma ouvir.

O objetivo é apresentar para o usuário as músicas e bandas que ele ainda não conhece, mas que provavelmente são compatíveis com o seu gosto musical.

Saiba mais sobre a internet, o Facebook e o Twitter.

Data de atualização: 26/03/2020.