Em nosso dia a dia, mesmo sem perceber, utilizamos a habilidade abstração. Imagine que você está participando de um jogo em que a tarefa é desenhar para que a sua dupla adivinhe, o mais rápido possível, o que você está desenhando. Para começar uma rodada, há o sorteio de uma palavra, que pode ser um alimento, um animal, um objeto ou qualquer outra coisa física e tangível. Se a palavra sorteada for, por exemplo, “bicicleta”, você provavelmente desenhará duas rodas, o quadro característico do veículo, o banco e o guidão. Uma boa estratégia é sempre começar a desenhar os detalhes principais que permitem a caracterização mais rápida e precisa do objeto a ser desenhado.
Na brincadeira citada anteriormente, antes de iniciarmos o desenho da bicicleta, imaginamos quais características principais deveriam ser apresentadas para que o desenho retratasse esse objeto. Para isso, foi necessário elencar mentalmente as características mais relevantes de uma bicicleta, ignorando detalhes específicos, como a corrente, os pedais, os aros da roda e se a bicicleta é de corrida ou de passeio. Fazer essas escolhas consiste em colocar em prática habilidades importantes de abstração, e, nesse caso, o desenho em si é a representação dessas variáveis ou dados extraídos da ideia de bicicleta.
Seja em um simples jogo de advinhação ou na análise de situações-problema, identificar as variáveis relevantes, separando-as das variáveis irrelevantes, de modo a viabilizar a modelagem e a resolução, envolve habilidades do pilar abstração, do pensamento computacional.
No vídeo a seguir, apresentamos um exemplo contextualizado da abstração aplicada em uma situação-problema.
Em diferentes atividades escolares, é comum classificarmos entes com características comuns. Por exemplo, em Matemática, se uma figura geométrica plana é um polígono e possui três lados, pode ser classificado como triângulo; em Biologia, se um animal vertebrado possui pêlos e produz leite, pode ser classificado como mamífero; na Literatura brasileira, se uma poesia foi escrita por volta do século XVI, apresenta tema religioso, valoriza detalhes, utiliza linguagem rebuscada e é formada por antíteses, pode ser classificada como poesia barroca. Em todos os exemplos apresentados, a classificação de elementos demanda a identificação de características comuns a determinado grupo, isto é, o reconhecimento de padrões.
O reconhecimento de padrões é um pilar do pensamento computacional e conta com habilidades que permitem essa identificação de características comuns presentes em objetos ou em situações-problema. Ao reconhecer um padrão, podemos agrupar problemas semelhantes, reaproveitando uma solução ou identificando a família a qual um problema pertence, aplicando uma solução conhecida.
A habilidade de decomposição também está presente em eventos do cotidiano. Imagine uma festa de casamento para muitos convidados, com bolo, jantar, músicos, bebidas à vontade… Um verdadeiro festão! Agora imagine o trabalho que é cuidar da organização e do planejamento dessa festa para que ela seja um sucesso. Os convidados querem somente chegar na festa e curtir. Eles nem imaginam a quantidade de pessoas envolvidas para que o evento seja bem sucedido em termos de entretenimento, diversão e confraternização dos convidados.
De modo geral, para alcançar um resultado satisfatório para eventos de grande porte, o(s) organizador(es) divide(m) as tarefas e as delega(m) a equipes ou empresas especializadas. Cada equipe e/ou empresa fica responsável por providenciar determinada tarefa, como os alimentos, a decoração, o entretenimento etc. Ao unirmos o trabalho concluído de cada grupo, completamos o todo, ou seja, o evento.
Esse mesmo raciocínio, aplicado no pensamento computacional, é conhecido como decomposição, que consiste na divisão de um problema, evento ou tarefa em tarefas ou problemas menores, de modo que a resolução de cada uma das partes significa a resolução do todo.
Na gastronomia, uma das áreas que exige precisão e rigor na execução e na finalização de uma receita é a confeitaria. Normalmente, a receita é dividida em dois tópicos: ingredientes e modo de preparo. Por exemplo, é possível encontrar receitas com menções exatas das quantidades dos ingredientes e o modo de preparo descrito em detalhes.
Mas o que isso tem a ver com algoritmo? Uma das maneiras mais simples de exemplificar o que é um algoritmo é por meio de uma receita de bolo.
Na receita, encontramos uma lista de ingredientes e o modo de preparo com uma descrição precisa das etapas necessárias para se obter um delicioso resultado final.
Em programação, um algoritmo pode ser definido (informalmente!) como uma sequência finita e bem definida de passos para realizar uma tarefa ou resolver um problema.
De modo geral, aplicamos habilidades dos demais pilares do pensamento computacional para gerar um modelo da situação-problema. Por fim, implementamos o algoritmo, que acaba sendo o produto final do processo, pois, no fim das contas, é o algoritmo que descreve detalhadamente a resolução dessa situação-problema.
No vídeo a seguir, exemplificamos, computacionalmente, alguns algoritmos que resolvem problemas simples:
Todo o conteúdo deste guia Dteach.org está disponível sob a licença Creative Commons Atribuição-NãoComercial 3.0 Brasil, o que significa que pode ser compartilhado e reutilizado para trabalhos derivados, desde que citada a fonte, e que não seja usado para fins comerciais.