O que são? O que fazem? Onde vivem?

Em 9 de abril de 2014, o serviço de emergência dos EUA parou abruptamente para milhões de pessoas. Essa queda se prolongou por mais de seis horas, tendo como consequência mais de 6 mil ligações de emergência não atendidas.

E o que esse acontecimento tem a ver com código de programação e algoritmos? T-U-D-O.

O governo constatou que o problema se deu em um computador, especificamente no centro de encaminhamento de chamadas em Englewood, no Colorado. O que foi constatado: era um simples erro de programação.

A pessoa responsável por programar aquele computador definiu um teto para o número de ligações que poderiam ser registradas, imaginando que esse limite jamais seria atingido. Mas ele foi, naquela noite. O erro não foi do computador, que apenas seguiu as instruções dadas: parar de funcionar ao atingir o limite de ligações.

Seguir instruções é basicamente o que faz um algoritmo, que pode ser definido como um conjunto de instruções voltado a um objetivo final. Esse conjunto de instruções pode significar milhões de linhas de código de programação ou uma dezena delas. O “tamanho do Google”, por exemplo, equivale a cerca de 2 bilhões de linhas de código, segundo a Wired.[1]

Apesar desse exemplo estratosférico do Google, os algoritmos são geralmente ilustrados através de uma receita culinária, uma coreografia ou um manual de instruções.

Espera, como assim?

Anteriormente, falamos que um algoritmo pode ser concebido como um conjunto de instruções executado para completar uma tarefa específica. Se pensarmos em uma receita de bolo, por exemplo, teremos basicamente: i) ingredientes e ii) modo de fazer.

Nesse sentido, temos uma sequência de passos simples como “coloque 2 xícaras de farinha de trigo”, que após executadas resultarão em um bolo pronto para ser consumido (objetivo final).

Um vídeo muito interessante que utiliza essa técnica é o Exact Instructions Challenge, em que o pai se propõe a executar as receitas de sanduíches escritas por seus filhos:

A ilustração do pai possibilitou que as crianças (e os telespectadores) percebessem que o computador executa exatamente o que colocamos em suas instruções, assim como no exemplo que iniciou esse texto acerca do serviço de emergência dos EUA. Isto é, precisamos dar contexto ao computador e colocar de forma determinística o que precisa ser feito.

Além de uma pesquisa no Google ou de uma receita de bolo, o que mais você acredita que faz parte do seu dia a dia e pode ser considerado um algoritmo? Compartilhe com a gente! =)


[1] Disponível em: https://www.wired.com/2015/09/google-2-billion-lines-codeand-one-place/


Fontes:

https://revistapesquisa.fapesp.br/2018/04/19/o-mundo-mediado-por-algoritmos/

Vídeo da Série “Explicando“, ep. “Código de Programação” – 2ª temporada.

 24,525 total views,  3 views today