GeraProva GeraProva Provas com IA para professores do Brasil
BNCC

Atividades sobre Programação com gabarito — 6º ano (EF06CO02)

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?

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Artigos relacionados

0 comentários

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.