Guia de estudo
O que é um algoritmo
Algoritmo é uma sequência de passos para resolver um problema ou fazer uma tarefa. É a base de toda a programação. Receita de bolo, o caminho até a escola e as instruções de um jogo são exemplos.
Robôs e computadores seguem passos um de cada vez, exatamente na ordem em que foram escritos. Eles não adivinham o que a gente quis dizer, por isso o algoritmo precisa ser claro.
Para lembrar- Algoritmo = passos, em ordem, para resolver um problema.
- O computador faz exatamente o que o algoritmo manda.
- Receitas e trajetos também são algoritmos.
Sequências e padrões
Uma sequência é uma fila de coisas que seguem uma regra. Por exemplo: 2, 4, 6, 8 (soma 2 a cada vez) ou A, B, A, B, A (as letras se alternam). Descobrir a regra é reconhecer um padrão.
Para achar o padrão, observe como cada item muda para o próximo. Compare a diferença entre números vizinhos: 3, 6, 9, 12 aumenta de 3 em 3. Em 2, 3, 5, 9, 17, as diferenças são 1, 2, 4, 8… e a próxima é 16, então vem 33.
Para lembrar- Padrão é uma regra que se repete.
- Compare cada item com o seguinte para descobrir a regra.
- Explicar como você pensou é parte da solução.
A ordem dos passos e a depuração
A ordem dos passos muda o resultado. Para fazer suco, se você bater as frutas antes de lavá-las, o suco sai com as frutas sujas. Para lavar as mãos: abrir a torneira, molhar, ensaboar, enxaguar e enxugar.
Depurar (em inglês, debug) é encontrar e corrigir erros em um algoritmo. Um erro costuma ser chamado de bug. Leia o algoritmo passo a passo, como o computador faria, e veja onde algo está fora de ordem.
Para lembrar- Trocar a ordem dos passos pode estragar o resultado.
- Depurar é encontrar e corrigir erros.
- Teste o algoritmo no papel, passo a passo.
Decisões e repetições
Algoritmos tomam decisões com o formato “se… então…”. Por exemplo: “se estiver chovendo, então levar o guarda-chuva”. É a chamada estrutura condicional.
Quando um passo é feito várias vezes, usamos uma repetição, também chamada de laço ou loop. Em vez de escrever cem vezes a mesma ordem, escrevemos “repita 100 vezes”.
Para lembrar- Se… então… permite decidir conforme a situação.
- Laço (loop) repete passos sem precisar reescrevê-los.
- Decisões e repetições estão em quase todo programa.
Lógica, código e vida real
Lógica é o raciocínio que liga as ideias com sentido: se isto acontece, então aquilo é verdade. Código é o conjunto de instruções escritas para o computador entender, numa linguagem de programação.
Pensar como quem programa serve para a vida toda: planejar uma viagem, organizar uma festa, montar uma rotina de estudos ou pedir um lanche pelo aplicativo da cantina são problemas que viram passos.
Para lembrar- Lógica liga as ideias com sentido.
- Código é o algoritmo escrito para o computador.
- Você usa algoritmos todos os dias, mesmo sem perceber.
História: “O campeonato sem regras”
A turma do 8º ano decidiu organizar um campeonato de jogos de tabuleiro para o fim do mês. Marina ficou com a missão de escrever as instruções e entregou um papel com quatro linhas: “Escolha um jogo. Encontre alguém. Jogue. Anuncie o vencedor.”
Na primeira manhã, tudo deu errado. Duas duplas escolheram o mesmo jogo e só havia um tabuleiro. Ninguém sabia quem começava, nem quanto tempo cada partida deveria durar. Uma disputa terminou empatada e ninguém sabia o que fazer. Outra dupla “anunciou o vencedor” antes de terminar a partida, porque a instrução não dizia quando a partida acabava. Marina ficou chateada: “Mas estava tudo escrito!” Foi Otávio quem sugeriu outro caminho. Primeiro, dividiram o campeonato em partes: inscrição, sorteio das duplas, calendário, regras de desempate, placar. Depois, notaram que o sorteio e o calendário se repetiam a cada rodada, e criaram um modelo reaproveitável. Por fim, testaram: escolheram dois alunos que nunca tinham visto as regras e pediram que seguissem o papel sem ajuda. Onde eles travaram, a instrução foi reescrita.
No dia do campeonato, tudo correu bem. E Marina concluiu: “Instrução boa é aquela que funciona na mão de quem não estava na minha cabeça.”
Para pensar: O que faltava nas instruções iniciais? Por que testar com quem não conhecia as regras foi tão útil? Que partes do campeonato se repetiam?
Uma origem curiosa: de al-Khwarizmi a Ada Lovelace
A palavra algoritmo vem do nome de um matemático persa do século IX, Muhammad ibn Musa al-Khwarizmi, cujos livros difundiram na Europa métodos de cálculo passo a passo. Séculos depois, em 1843, a matemática inglesa Ada Lovelace escreveu notas sobre a “máquina analítica” de Charles Babbage e descreveu, em detalhe, uma sequência de operações que a máquina poderia executar. Por isso, muitos historiadores a consideram autora do primeiro programa de computador descrito na história.
Repare: antes de existir um computador funcionando, já existia a ideia de instruções organizadas. O pensamento computacional é anterior à tela.
Entendendo o assunto
Pensamento computacional é uma forma de pensar que ajuda a analisar problemas e criar soluções que podem ser seguidas por pessoas ou por máquinas. Ele não exige computador, e quem o pratica não precisa ser “programador”: serve para planejar uma viagem, montar um trabalho em grupo ou organizar a mochila. Costuma-se descrevê-lo por meio de quatro ideias que trabalham juntas.
A primeira é a decomposição: dividir um problema grande em partes menores, mais fáceis de entender e de resolver. Organizar um campeonato inteiro é assustador; organizar uma inscrição, um sorteio e um placar, não. A segunda é o reconhecimento de padrões: perceber o que se repete e aproveitar a solução. Se cada rodada tem sorteio e calendário, basta criar um modelo. A terceira é a abstração, que consiste em focar no essencial e deixar de lado o que não importa para o problema. Um mapa do metrô não mostra o formato das ruas, mas mostra exatamente o que o passageiro precisa. E a quarta é o algoritmo: uma sequência finita de instruções, claras e ordenadas, para atingir um objetivo.
Um bom algoritmo é claro (não deixa margem para duas interpretações), ordenado (a sequência importa) e completo (cobre os casos previstos, como o empate). Quando algumas decisões dependem de uma condição, usamos seleção: “se der empate, jogue a partida de desempate”. Quando uma ação se repete, usamos repetição: “repita até que todas as duplas tenham jogado”. Esses recursos aparecem em qualquer linguagem de programação.
Nenhum algoritmo nasce perfeito. Por isso, o último passo é testar e depurar. Depurar é encontrar e corrigir erros, que na computação são chamados de bugs. Conta-se que o termo ganhou fama quando, em 1947, uma equipe encontrou uma mariposa presa num relé de um computador antigo, mas a palavra já era usada por engenheiros antes disso. O importante é o hábito: errar faz parte, esconder o erro é que atrapalha. Quem testa com outras pessoas, como fez Marina, descobre muito mais depressa onde a instrução falha.
Para lembrar- Problemas grandes ficam mais claros quando divididos em partes.
- Instruções precisam ser claras, ordenadas e testadas.
- Errar, encontrar o erro e corrigir faz parte de aprender.
Leitura do Ensino Médio
No Ensino Médio: O pensamento computacional se apoia em decomposição, reconhecimento de padrões, abstração e algoritmos. É uma competência que vai além da programação: ajuda a analisar problemas complexos, testar soluções e corrigir falhas. Um algoritmo precisa ser claro, finito e sem ambiguidade. As estruturas básicas são a sequência, a decisão (se... então) e a repetição.
Relato “O sistema da biblioteca”: Uma equipe da escola criou um sistema para organizar o empréstimo de livros da biblioteca. Dividiram o problema em cadastro, busca, empréstimo e devolução. Perceberam um padrão: todo empréstimo tinha prazo e multa. Criaram um algoritmo com decisão: se o prazo vencer, então avisar o aluno. No primeiro teste, o sistema multou um livro devolvido no mesmo dia; a equipe depurou a condição e corrigiu.
Para lembrar- O mesmo tema muda de linguagem conforme a idade: o que muda é a profundidade, não a ideia central.
- Depois de ler, converse: o que aconteceu, o que cada pessoa fez e o que você faria no lugar dela.
Casos para conversar
Escovar os dentes fora de ordem
6º ao 9º ano
Escovar os dentes: 1) Pegar a escova. 2) Escovar os dentes. 3) Colocar pasta na escova. 4) Enxaguar a boca.
Vamos conversar:
- Encontre o erro neste algoritmo e reescreva-o corrigido.
- Escreva o algoritmo de um pedido na cantina por aplicativo, com passos numerados e uma decisão (se… então…).
- Onde mais usamos algoritmos no dia a dia?
Vocabulário
- Algoritmo
- sequência de instruções claras para resolver um problema.
- Decomposição
- dividir um problema em partes menores.
- Padrão
- algo que se repete e pode ser reaproveitado.
- Abstração
- focar no que é essencial.
- Condição (se… então)
- decisão que depende de uma situação.
- Depuração
- encontrar e corrigir erros (bugs).
- Sequência
- Fila de coisas que seguem uma regra.
- Ordem
- A posição em que cada passo acontece.
- Erro (bug)
- Falha que precisa ser corrigida.
- Depurar
- Encontrar e corrigir erros em um algoritmo.
- Repetição (laço ou loop)
- Quando um passo é feito várias vezes.
- Condição (se… então…)
- Decisão que depende de uma situação.
- Lógica
- Raciocínio que liga as ideias com sentido.
- Código
- Conjunto de instruções escritas para o computador.
Pesquisa em dupla (para entregar por escrito)
Pesquisem um algoritmo usado no dia a dia (como um aplicativo de rotas, a busca de uma plataforma de vídeo ou o sistema de um semáforo). Expliquem, com as próprias palavras, qual problema ele resolve e escrevam em 6 a 10 passos como vocês imaginam que ele funcione. Citem a fonte consultada. Para saber mais: Computação na Educação Básica, diretrizes da Sociedade Brasileira de Computação (SBC); Complemento de Computação da BNCC; biografia de Ada Lovelace.