Sistemas operacionais

Por Filipe Garrett, para o TechTudo


Os algoritmos estão presentes no nosso dia-a-dia com a tecnologia. O termo, que tem origem na matemática, caracteriza um conjunto de etapas que um software qualquer precisa realizar para chegar a um resultado. O conceito é muito importante para programadores, que usam a estratégia como uma forma de dividir problemas em passos que podem ser aplicados por computadores na realização de alguma tarefa específica. A seguir, explicamos o que é um algoritmo e daremos exemplos da aplicação desse conceito na rotina do usuário.

Instagram usa algoritmo para mostrar o que é relevante no feed — Foto: Carolina Oliveira/ TechTudo

Quer comprar celular, TV e outros produtos com desconto? Conheça o Compare TechTudo

O que é algoritmo?

Algoritmos são a base do processo de desenvolvimento de software e fazem parte das ferramentas pelas quais programadores criam estratégias para fracionar problemas em etapas e processos que podem ser traduzidos computacionalmente. Na tecnologia, há exemplos de todos os níveis de complexidade.

Uma aplicação mais simples de algoritmo é o processo de inicialização do computador: há um software – basicamente a tradução computacional de um algoritmo – encarregado de testar todos os componentes do seu computador para saber se está tudo em ordem e, depois disso, procurar o sistema operacional no disco para carregá-lo.

Algoritmos são a base pela qual aplicativos, serviços de Internet e softwares em geral são construídos — Foto: Marvin Costa/TechTudo

Em um exemplo como esse, o algoritmo precisa abordar estratégias em casos de exceção ou, basicamente, quando nem tudo funciona como o esperado: programadores precisam prever situações que fogem do padrão, como quando o algoritmo de inicialização não encontra um sistema operacional para carregar. Se essa possibilidade não for prevista, o seu computador não carrega o sistema operacional porque não o encontrou e também não avisa você, travando num estado sem nenhuma informação que possa orientar o usuário a respeito do que saiu errado.

De uma forma geral, quando se aborda a ideia de um algoritmo no âmbito que envolve desde o seu computador, videogame e celular aos sistemas do seu automóvel a grandes ferramentas de processamento na nuvem, algoritmos de busca poderosos e recursos de inteligência artificial cada vez mais sofisticados, estamos falando de um modelo lógico de passos que propõe estruturar uma cadeia de etapas para que dados sejam processados e devolvidos por computadores de todos os tipos aos seus usuários.

Exemplos do que algoritmos fazem

Conversão de formatos de áudio é um exemplo típico da ação de algoritmos — Foto: Helito Beggiora/TechTudo

Pode parecer exagero, mas tudo que seu computador faz pode ser traduzido em algoritmos. Há diferentes tipos de algoritmos e alguns deles são bem mais complexos do que os outros, mas no geral, todo software é uma interpretação computacional de um algoritmo.

Outro exemplo é a compactação. Compactar dados significa gerar versões que aceitam algum nível de perda de informação, ou qualidade para gerar arquivos menores: o MP3, por exemplo, é um tipo de compressão usada em áudio que admite sacrificar uma quantidade X de informação para gerar um arquivo muito menor. O mesmo raciocínio vale para o JPEG das imagens ou o MP4 dos vídeos.

Um algoritmo de compressão para MP3 funciona da seguinte forma: trata-se de um tipo de software que lê toda a informação bruta de uma amostra de som de alta qualidade, para convertê-la no MP3. Nessa análise, o algoritmo mapeia o som e identifica frequências de som que são inaudíveis pelo ouvido humano, as separa, e cria um arquivo de som que, sem essas frequências que nós não escutamos, acaba bem menor para guardar no disco do seu computador. O problema é a perda de qualidade. Embora tecnicamente inaudível, há quem garanta que o som MP3 soa diferente do som de qualidade bruta.

O mesmo raciocínio se aplica para usos mais atuais: quando você decide baixar um MP3 de um vídeo no YouTube, você está aplicando um tipo de algoritmo de compressão que converte a informação original em um arquivo MP3 no seu computador.

Outros exemplos de uso recorrente de algoritmos no seu dia a dia são a criptografia, que torna os dados que você troca com a Internet protegidos da ação de invasores; de mapas, em que suas rotas em apps de localização são calculadas da forma mais eficiente possível; de rotas de Internet, em que sua comunicação com sites e apps é definida pelos percursos ideais entre servidores espalhados mundo afora.

Algoritmo e programação

Para um programador, ter noções a respeito de algoritmos é essencial, pois antecede o domínio de uma linguagem de programação. Saber usar algoritmos é saber criar estratégias para fracionar problemas reais em instruções mais abstratas que um computador consegue seguir na solução de um problema.

Domínio de algoritmos é uma habilidade essencial na formação de um bom programador — Foto: Reprodução/Filipe Garrett

Para aprender programação, muito mais importante do que escolher uma linguagem ou projeto é dominar a lógica determinística de um passo de cada vez que está por trás dos algoritmos. Ela é a base que torna a ação dos programadores mais efetiva e eficiente, já que uma vez que você consegue dividir um problema em etapas e convertê-lo numa sequência de passos que o computador pode interpretar, a tarefa de traduzir essas, cadeia de etapas em uma linguagem de programação torna-se mais simples.

Como os algoritmos são usados na Internet?

Algoritmos são usados para organizar o que aparece na sua timeline do Facebook e o tipo de conteúdo que é relevante para você em outras redes e serviços — Foto: Ana Letícia Loubak/TechTudo

Algoritmos estão em todas as partes quando falamos de computadores e tecnologia, mas o termo é bastante associado e aparece com frequência quando o assunto é a Internet. Existe o algoritmo de buscas do Google, o algoritmo da timeline do Facebook, algoritmo do Spotify que combina as músicas e artistas que você ouve para sugerir novas faixas desconhecidas e assim por diante.

O famoso “algoritmo do Google” é uma ferramenta de buscas que vasculha a Internet atrás de resultados que atendam os parâmetros de uma busca. A tecnologia do Google revolucionou o mercado porque apareceu com a capacidade de dar mais peso a páginas com informações mais relevantes. Quando surgiu, em 1999, o Google era o único a fazer isso, enquanto outros buscadores davam resultados genéricos que muitas vezes nem passavam perto do que o usuário buscava.

No caso do Facebook, há um algoritmo por trás da organização, relevância e frequência de conteúdos que aparecem na sua timeline. Chamado de “EdgeRank” pelo Facebook, o algoritmo decide o que você visualiza na sua página a partir de uma série de fatores que vão das referências cruzadas entre o que seus amigos curtem e compartilham e passam também pelo cálculo daquilo que você tende a achar mais interessante a partir dos seus próprios hábitos.

No exemplo do Spotify, existe um algoritmo que analisa as músicas e artistas que você curte, estabelecendo um padrão de comportamento, que é usado para sugerir canções e músicos parecidos, mas que o usuário desconhece. Mais do que um simples exercício de associação entre gêneros, o software do Spotify analisa a assinatura de áudio de cada música para buscar sons parecidos que o usuário não buscaria. Esse mesmo tipo de combinação e sugestões precisas de conteúdo são usados pela Netflix, Amazon Prime e YouTube.

Não consegue instalar o Chrome? Descubra como resolver no Fórum do TechTudo

Mais do TechTudo