GeraProva GeraProva Provas com IA para professores do Brasil
BNCC

Atividades sobre Estratégias de solução de problemas com gabarito — 6º ano, 7º ano, 8º ano, 9º ano (EF69CO04)

Atividades e questões com gabarito para trabalhar decomposição e programação em Computação do 6º ao 9º ano. Veja como transformar a habilidade EF69CO04 em aula e avaliação.

Atividades sobre Estratégias de solução de problemas com gabarito — 6º ano, 7º ano, 8º ano, 9º ano (EF69CO04)

Quando recebo um código da BNCC no planejamento, a primeira pergunta que me faço é: como eu transformo isso numa aula que os alunos entendam e numa avaliação que meça o que eu realmente ensinei? Com a EF69CO04 não foi diferente. Ela aparece na área de Computação e pede um trabalho que muitos colegas nunca fizeram antes, porque não envolve necessariamente um computador ligado.

Neste texto eu conto como eu entendo essa habilidade, que ideias uso em sala e como montei avaliações com gabarito comentado. Se você precisa de questões prontas, elas estão mais abaixo.

O que a habilidade EF69CO04 pede, de verdade?

Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.

Na prática, a habilidade pede que o aluno pegue um problema grande e complicado, quebre em pedaços menores e fáceis de resolver e, depois, registre essa solução de forma que um computador consiga executá-la. Eu traduzo para o meu aluno assim: antes de programar, aprenda a dividir o problema. Decomposição é o passo que vem antes de qualquer linha de código. Sem ela, o aluno tenta resolver tudo de uma vez, se perde e desiste. Com ela, cada parte vira uma tarefa pequena, e a automação entra como o passo final, quando a sequência de ações já está clara e pode ser repetida pelo computador sem erro.

Como trabalhar EF69CO04 em sala?

Sem laboratório caro, eu uso quatro ideias que funcionam bem em qualquer escola:

  • Organizar a festa da turma: peço para os alunos planejarem uma festa junina ou um lanche coletivo, separando em tarefas como lista de convidados, compra, decoração e limpeza. Eles percebem sozinhos que decompor ajuda.
  • Receita passo a passo: escrevemos uma receita de bolo em etapas numeradas e depois um colega tenta seguir só o que está escrito. Quando falta um passo, a turma entende o que é um algoritmo bem decomposto.
  • Robô de papel: um aluno dá instruções a outro, que só pode andar pela sala seguindo exatamente o que foi dito. É uma forma barata de ensinar sequência e subproblemas.
  • Pseudocódigo no quadro: escolhemos um problema simples, como calcular a média de notas da turma, e dividimos em funções menores antes de escrever qualquer comando real.

Como avaliar essa habilidade?

Uma boa questão sobre EF69CO04 precisa cobrar que o aluno identifique a decomposição, não apenas memorize a palavra. Eu fujo de perguntas que só pedem a definição e prefiro situações do cotidiano em que o aluno precisa escolher a estratégia certa. O erro mais comum que vejo é avaliar só a sintaxe de uma linguagem, quando a habilidade é sobre pensar antes de programar. Outro erro é misturar estratégias parecidas, como decomposição, abstração e generalização, sem deixar claro a diferença entre elas.

Questões prontas de EF69CO04 (com gabarito comentado)

Questão 1: estratégia usada para separar a organização de uma festa

Para organizar uma festa para 100 convidados, Ana separou o trabalho em tarefas menores: fazer a lista de convidados, escolher o local, planejar o cardápio, enviar os convites e organizar as brincadeiras.

Qual estratégia da computação Ana utilizou ao separar a organização da festa em tarefas menores?

  • ❌ A) Abstração — essa estratégia destaca as informações mais importantes e deixa de lado detalhes desnecessários, o que não é o caso aqui.
  • ❌ B) Algoritmo — organiza instruções em sequência de passos, mas Ana não descreveu uma sequência, e sim dividiu o problema.
  • ✅ C) Decomposição — dividir um problema maior em partes menores e mais fáceis de resolver. A organização da festa foi separada em várias tarefas.
  • ❌ D) Generalização — identifica características que servem para situações parecidas, e não separa uma tarefa grande em partes.
  • ❌ E) Reúso — aproveita uma solução já criada em outra situação, o que não aparece no enunciado.

Questão 2: vantagem de variáveis locais em uma subrotina

Considere um algoritmo que calcula a média de notas por turma. Ao aplicar decomposição, qual vantagem de usar uma variável local para armazenar um dado temporário dentro de uma subrotina?

  • ❌ A) Salvar dados temporários em um arquivo é uma boa prática em subrotinas, pois mantém os dados persistentes — usar arquivos para dados temporários é lento e impreciso.
  • ❌ B) Armazenar dados em variáveis de classe simplifica o código e melhora a performance — variáveis de classe podem gerar acoplamento e efeitos colaterais.
  • ❌ C) Utilizar constantes aumenta a flexibilidade — constantes não podem ser alteradas, o que limita as operações da subrotina.
  • ❌ D) Usar variáveis globais facilita o acesso por qualquer parte do algoritmo — isso pode causar efeitos colaterais indesejados.
  • ✅ E) Evita efeitos colaterais entre subrotinas, mantendo o estado encapsulado e reduzindo o acoplamento. Variáveis locais têm escopo limitado, então outras partes do algoritmo não alteram o dado sem querer.

Questão 3: recurso que mais reduz o trabalho repetitivo

Uma equipe precisa gerar cem relatórios com a mesma estrutura, mudando apenas os valores das turmas e das notas.

Qual recurso digital reduz mais o trabalho repetitivo nessa tarefa?

  • ❌ A) Usar um editor de texto comum para copiar e colar manualmente — reaproveita parte do texto, mas ainda exige muitas ações manuais e repetidas.
  • ❌ B) Gerar os relatórios manualmente e depois salvar os arquivos — salvar é consequência, não a causa da redução do trabalho.
  • ❌ C) Escolher um modelo visual mais bonito — melhora a apresentação, mas não executa automaticamente as ações repetidas.
  • ❌ D) Criar uma planilha com fórmulas para calcular as notas — fórmulas calculam valores, mas não automatizam a criação dos cem relatórios.
  • ✅ E) Utilizar macros ou scripts para automatizar a sequência de ações repetidas. Eles repetem automaticamente tarefas padronizadas, reduzindo o trabalho manual.

Questão 4: característica da programação modular

Qual dos seguintes conceitos é uma característica da programação modular?

  • ❌ A) Aumento da complexidade do código — a modularização visa reduzir a complexidade ao dividir o código em partes menores.
  • ✅ B) Reutilização de código. A programação modular permite que módulos sejam reutilizados em diferentes partes do software.
  • ❌ C) Dificuldade na identificação de erros — a modularização facilita encontrar erros, pois cada módulo pode ser testado isoladamente.
  • ❌ D) Desempenho inferior ao código monolítico — o desempenho pode ser similar ou até melhor, dependendo da implementação.
  • ❌ E) Necessidade de mais memória — a modularização não necessariamente aumenta o uso de memória.

Questão 5: finalidade do pensamento computacional

Qual é a principal finalidade do pensamento computacional na programação?

  • ❌ A) Resolver problemas de forma aleatória — o pensamento computacional busca resolver problemas de forma sistemática.
  • ❌ B) Criar códigos complexos sem planejamento — o planejamento é essencial para criar soluções eficazes.
  • ✅ C) Entender e decompor problemas para solucioná-los. O pensamento computacional envolve dividir problemas complexos em partes menores.
  • ❌ D) Aumentar a complexidade dos algoritmos — o objetivo é simplificar problemas, não complicá-los.
  • ❌ E) Substituir a lógica matemática na programação — a lógica matemática continua sendo parte importante da programação.

Questão 6: definição correta de decomposição em algoritmos

Identifique a definição correta de decomposição em algoritmos.

  • ❌ A) Unir várias partes de um problema em uma só solução — isso se refere à agregação de informações, não à decomposição.
  • ✅ B) Dividir um problema complexo em partes menores. Essa é a essência da decomposição, facilitando a resolução.
  • ❌ C) Aumentar a complexidade do problema original — decomposição busca simplificar.
  • ❌ D) Reutilizar partes de um algoritmo anterior — isso se refere ao reúso, não à decomposição.
  • ❌ E) Criar um problema novo baseado em um existente — isso envolve generalização, não decomposição.

Próximos passos

Se você quer ver todas as questões desse código e filtrar por série, acesse a consulta completa do código EF69CO04. Para montar uma prova com esse conteúdo em poucos minutos, use o gerador de provas do GeraProva. Ainda não tem conta? Faça o cadastro grátis e comece pelas questões que já estão no acervo.

Estas questões são um ponto de partida. Revise cada uma com a sua turma, adapte a linguagem à sua realidade e use o que fizer sentido para o seu planejamento. Bom trabalho na sala de aula!

Monte uma prova com questões como estas

O GeraProva busca questões com gabarito comentado e BNCC no acervo e monta a prova pronta para imprimir.

Criar minha prova

Habilidades BNCC deste artigo

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.