Atividades sobre Programação com gabarito — 6º ano (EF06CO02)
Quando recebo a EF06CO02 no planejamento do 6º ano, sei que o desafio não é apenas explicar o que é algoritmo. Preciso transformar um código da BNCC em situações que a turma consiga testar, discutir e corrigir. Em Computação, isso faz muita diferença: aluno pode até decorar o nome de “loop”, mas só aprende de fato quando percebe por que repetir uma instrução evita trabalho e por que uma condição muda o caminho de um programa.
Eu gosto de começar com problemas pequenos, próximos da rotina: decidir se um número é par ou ímpar, contar presenças, montar uma sequência de passos para uma tarefa ou criar regras simples em blocos. Depois, levo essa prática para a avaliação. Abaixo reuni ideias e questões para trabalhar a habilidade com objetividade, sem depender de laboratório sofisticado.
O que a habilidade EF06CO02 pede, de verdade?
A EF06CO02 pede que o estudante do 6º ano não fique só olhando ou copiando códigos: ele deve elaborar algoritmos em uma linguagem de programação que combinem três formas básicas de controle. Primeiro, a sequência, isto é, instruções em uma ordem lógica, como ler um número e mostrar um resultado. Depois, a repetição, usada quando uma ação precisa ocorrer várias vezes, como contar de 1 a 5. Por fim, a seleção, que permite tomar decisões conforme uma condição, como classificar um número em par ou ímpar. Na prática, eu traduzo a habilidade assim: a turma precisa planejar uma solução, prever o que acontecerá em cada passo e escolher a estrutura adequada ao problema. Não é necessário começar com programas longos ou sintaxe complicada; o essencial é que os alunos compreendam a lógica, escrevam instruções claras e consigam testar, identificar erros e ajustar o algoritmo.
“Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.”
Ela pertence à unidade temática Pensamento Computacional, no objeto de conhecimento Programação, para o componente de Computação. Para consultar o recorte completo e acessar o acervo, vale abrir a consulta completa do código EF06CO02.
Como trabalhar EF06CO02 em sala?
- Algoritmo humano: proponho uma tarefa cotidiana, como organizar a mochila ou preparar um lanche, e peço instruções extremamente detalhadas. Eu sigo literalmente o que escreveram. Quando surge uma ordem vaga, a turma percebe por que um algoritmo precisa ser preciso e sequencial.
- Cartões de decisão: distribuo cartões com números e monto no quadro a regra: “se o resto da divisão por 2 for zero, escreva par; senão, escreva ímpar”. Os estudantes percorrem o algoritmo em dupla e registram o resultado. É uma forma simples de visualizar seleção.
- Contagem com repetição: antes de abrir qualquer ambiente digital, faço a turma simular um contador: começar em 1, escrever o valor, aumentar 1 e verificar se chegou a 5. Alguns alunos representam as instruções; outros conferem quantas vezes o comando foi executado.
- Programação em blocos ou pseudocódigo: se houver computador, uso um ambiente de blocos disponível na escola. Se não houver, pseudocódigo no caderno funciona muito bem. O foco é criar programas curtos: exibir uma saudação, contar valores e decidir entre duas mensagens.
- Caça ao erro: entrego algoritmos com falhas intencionais, como escrever “par” nos dois caminhos de uma seleção. Corrigir o código costuma revelar mais compreensão do que apenas preencher lacunas.
Como avaliar essa habilidade?
Uma boa questão de EF06CO02 precisa cobrar raciocínio sobre sequência, repetição ou seleção — de preferência em uma situação que permita ao aluno acompanhar a execução do algoritmo. Eu evito avaliar apenas vocabulário técnico. Perguntar o que um loop faz é válido, mas é ainda melhor pedir que a turma conte execuções, escolha uma condição adequada ou identifique o resultado de um programa.
Um erro comum é tratar qualquer questão sobre computador como evidência de programação. Listas, matrizes e registros podem aparecer em outros contextos, mas não substituem o entendimento das estruturas de controle exigidas aqui. Outro erro é usar códigos longos demais, em que a dificuldade vira leitura de sintaxe. Para o 6º ano, avalio se o estudante organiza passos, reconhece quando repetir e sabe que uma decisão depende de uma condição verdadeira.
No GeraProva, há 289 questões alinhadas a essa habilidade. Eu usaria esse volume para variar níveis de dificuldade e gerar versões diferentes da mesma avaliação no gerador de provas do GeraProva.
Questões prontas de EF06CO02 (com gabarito comentado)
1. João quer criar um algoritmo para verificar se um número é par ou ímpar. Qual opção usa uma estrutura de seleção corretamente?
- ❌ A) Leia n. Se n mod 2 = 0, escreva “par”. Senão, escreva n. Está errada porque, para números ímpares, o algoritmo mostra o número em vez de classificá-lo como “ímpar”.
- ❌ B) Leia n. Se n mod 2 = 1, escreva “par”. Senão, escreva “ímpar”. Está errada porque a condição foi invertida: resto 1 indica número ímpar.
- ✅ C) Leia n. Se n mod 2 = 0, escreva “par”. Senão, escreva “ímpar”. Está correta: resto zero na divisão por 2 indica número par, e o “Se... Senão...” seleciona a classificação adequada.
- ❌ D) Leia n. Se n mod 2 = 0, escreva “par”. Senão, escreva “par”. Está errada porque os dois caminhos escrevem “par”; “ímpar” nunca aparece.
- ❌ E) Leia n. Se n mod 2 = 0, escreva “ímpar”. Senão, escreva “ímpar”. Está errada porque os dois caminhos escrevem “ímpar”; “par” nunca aparece.
2. Em uma condição de seleção, o que é necessário para que um bloco de código seja executado?
- ❌ A) Um loop ativo. Está errada porque uma condicional depende de uma condição, não de um loop.
- ❌ B) Uma variável definida. Está errada porque ter uma variável não garante que o bloco seja executado.
- ✅ C) Uma condição verdadeira. Está correta: o bloco de uma condicional é executado quando sua condição é verdadeira.
- ❌ D) Um valor fixo. Está errada porque valores fixos, sozinhos, não determinam a execução de uma condicional.
- ❌ E) Um bloco de repetição. Está errada porque repetição não é requisito para uma seleção funcionar.
3. Em um algoritmo que conta de 1 a 5, quantas vezes a instrução “escreva(i)” será executada? Considerando que i é incrementado após cada execução.
- ❌ A) 4. Está errada porque há uma execução para cada número de 1 a 5.
- ✅ B) 5. Está correta: “escreva(i)” é chamada uma vez para 1, 2, 3, 4 e 5.
- ❌ C) 6. Está errada porque não existe uma execução extra além dos cinco valores da contagem.
- ❌ D) 1. Está errada porque uma única execução não realizaria a contagem proposta.
- ❌ E) 0. Está errada porque a contagem começa em 1, portanto haverá execução.
4. Qual a principal vantagem de usar algoritmos em programação?
- ❌ A) Facilitar a escrita do código. Está errada porque pode ajudar, mas não é a vantagem principal nem garante código correto.
- ❌ B) Reduzir o tempo de execução. Está errada porque isso depende do algoritmo escolhido e não é sempre garantido.
- ✅ C) Organizar o raciocínio. Está correta: algoritmos estruturam os passos para resolver um problema.
- ❌ D) Substituir a lógica de programação. Está errada porque o algoritmo usa lógica; não a substitui.
- ❌ E) Eliminar todos os erros de código. Está errada porque erros também dependem da implementação e dos testes.
5. Qual é a função de um loop em um algoritmo?
- ❌ A) Executar um bloco de código apenas uma vez. Está errada porque o loop serve justamente para repetir ações.
- ❌ B) Parar a execução do algoritmo imediatamente. Está errada porque loops repetem partes do algoritmo, não o encerram por definição.
- ✅ C) Repetir um bloco de código várias vezes. Está correta: o loop repete instruções enquanto a condição estabelecida for verdadeira.
- ❌ D) Executar instruções em sequência apenas. Está errada porque isso descreve a sequência, não a repetição.
- ❌ E) Aumentar a complexidade do algoritmo. Está errada porque loops podem simplificar tarefas repetitivas.
6. Considere um algoritmo que precisa verificar se um número é par ou ímpar. Qual estrutura de controle deve ser utilizada?
- ❌ A) Estrutura de repetição. Está errada porque repetir ações não resolve uma decisão entre dois resultados.
- ✅ B) Estrutura de seleção. Está correta: uma estrutura como “if” toma decisões com base em uma condição.
- ❌ C) Lista. Está errada porque listas armazenam dados, mas não controlam o fluxo de execução.
- ❌ D) Registro. Está errada porque registros organizam dados, mas não fazem escolhas no algoritmo.
- ❌ E) Matriz. Está errada porque matrizes armazenam dados em duas dimensões, sem decidir o caminho do programa.
Próximos passos
Eu começaria com uma atividade desplugada, aplicaria duas ou três questões como diagnóstico e retomaria o ponto em que a turma mais hesitar. Depois, dá para montar uma avaliação completa com questões alinhadas e diferentes versões para as turmas.
Se você ainda não usa a plataforma, faça seu cadastro grátis e experimente organizar suas avaliações com mais tempo para o que importa: acompanhar o aprendizado.
As questões são um ponto de partida para sua aula: adapte exemplos, linguagem e apoio às necessidades da sua turma. No GeraProva, você encontra recursos para planejar e avaliar com autonomia, sempre com o olhar pedagógico do professor.
