Atividades sobre Análise de programas com gabarito — 7º ano (EF07CO02)
Atividades de Análise de programas para o 7º ano, com questões comentadas e gabarito. Veja como transformar a habilidade EF07CO02 em aulas práticas e avaliações que realmente mostram o raciocínio dos estudantes.
Outro dia abri o planejamento do trimestre e lá estava o código EF07CO02 na minha lista de habilidades de Computação. Confesso que li duas vezes antes de entender o que a BNCC queria dizer. Quando a gente recebe um código assim, a pergunta é sempre a mesma: como transformar essa frase em aula de verdade e, depois, em uma avaliação que mostre o que os alunos aprenderam?
Neste texto eu conto como eu organizo essa habilidade na minha rotina, com ideias simples que funcionam sem material caro e com questões prontas que você pode usar já na próxima semana.
O que a habilidade EF07CO02 pede, de verdade?
Analisar programas para detectar e remover erros, ampliando a confiança na sua correção.
Na prática, essa habilidade pede que o aluno do 7º ano saiba ler um programa que já existe e encontrar onde ele está errado. Não se trata de escrever código do zero, e sim de olhar com atenção para uma regra, uma condição ou um laço e perceber que algo não bate com o que deveria acontecer. Depois de achar o erro, o aluno precisa corrigi-lo e, principalmente, entender por que a correção resolve o problema. O objetivo final é que ele passe a confiar no próprio trabalho porque sabe testar e revisar o que fez. Ou seja, o foco está no hábito de verificar, comparar o resultado esperado com o obtido e ajustar a lógica até que ela esteja coerente com a regra do problema.
Como trabalhar EF07CO02 em sala?
Estas são as ideias que mais funcionam para mim, todas pensadas para uma sala comum com quadro e papel:
- Programa com defeito de propósito: escrevo no quadro um pequeno algoritmo com um erro escondido, como um sinal de comparação trocado, e peço que a turma encontre o problema em duplas.
- Mesa de teste: cada grupo recebe três ou quatro entradas e precisa prever a saída antes de rodar ou simular no papel. Quando a previsão não bate, o erro aparece.
- Jogo do "quebra-cabeça" lógico: uma regra do cotidiano da escola, como o acesso à biblioteca, vira um fluxograma. Os alunos trocam os papéis e tentam achar a falha no fluxo do colega.
- Diário de correção: o aluno anota, em uma linha, o erro encontrado, a causa e a correção. Esse registro vira material de revisão no fim do bimestre.
Como avaliar essa habilidade?
Uma boa questão sobre EF07CO02 precisa cobrar que o aluno analise uma regra e identifique onde ela foi traduzida de forma errada. Eu evito perguntas que apenas pedem a definição de depuração, porque elas medem memória e não análise. Prefiro enunciados que apresentam um trecho e perguntam qual alteração corrige o comportamento. Um erro comum que vejo em provas é a alternativa correta ficar muito mais longa que as demais, o que entrega a resposta. Outro é usar alternativas absurdas, que não exigem nenhum raciocínio. Para evitar isso, faça as distratores com erros plausíveis, como o operador quase certo ou o limite do laço em um índice a mais.
Questões prontas de EF07CO02 (com gabarito comentado)
A seguir estão as seis questões que eu uso como base. Todas trazem a alternativa correta marcada e a explicação do motivo de cada erro, para você conferir e adaptar à sua turma.
Questão 1: a condição do centro cultural
Na porta de um centro cultural, um programa simples decide se o visitante paga ingresso ou entra de graça. A regra foi escrita assim: visitantes com 12 anos ou menos entram gratuitamente; também entram de graça os professores com carteirinha válida. O código testado foi:
leia idade
leia carteirinha
se (idade <= 12) e (carteirinha = "sim") entao
escreva "Entrada gratuita"
senao
escreva "Ingresso pago"
fimse
Durante a verificação, crianças sem carteirinha passaram a ser cobradas, embora a regra dissesse o contrário. A equipe percebeu que o problema estava na condição do teste.
Analise o trecho e identifique a alteração que corrige o programa para atender à regra descrita no texto-base.
- ❌ A) Substituir o operador <= por < na comparação da idade. — Isso excluiria quem tem exatamente 12 anos, mas o texto inclui essa idade.
- ✅ B) Substituir o operador e por ou na condição do teste. — A regra aceita quem tem 12 anos ou menos, ou quem apresenta carteirinha; por isso, a condição precisa usar ou.
- ❌ C) Retirar o bloco senao para que todos recebam entrada gratuita. — Sem o senao, o programa não separa quem paga de quem entra de graça.
- ❌ D) Trocar a ordem das linhas de escrita para corrigir a condição. — A ordem das mensagens não muda a lógica do teste; o erro está no operador.
- ❌ E) Substituir o valor "sim" por "nao" na leitura da carteirinha. — Isso inverteria a regra da carteirinha e liberaria o caso errado.
Dica de resolução: analise a condição lógica e substitua o operador correto para refletir a regra. Conceito central: condição lógica em programação.
Questão 2: o laço que não chega ao último índice
Uma lista não vazia possui índices de 0 até n, e n é seu último índice válido. Em um laço, o índice i começa em 0, aumenta de 1 em 1 e o valor de n não muda. Mesmo assim, o laço termina antes de i visitar n.
Qual erro é mais provável nesse algoritmo?
- ❌ A) Erro no valor de n, que deveria ser alterado durante a execução. — O texto informa que n permanece constante e representa o último índice válido, portanto sua alteração não explica a situação.
- ❌ B) Erro na posição inicial do índice i, que deveria começar em outro valor. — O texto informa que i começa em 0, portanto a posição inicial não explica o problema apresentado.
- ❌ C) Erro na quantidade de elementos da lista, que deveria ser menor. — A lista é não vazia e n é informado como seu último índice válido; reduzir sua quantidade de elementos não é a causa indicada.
- ✅ D) Erro na condição de parada do laço, que o encerra antes de i alcançar n. — Como n é o último índice válido, o laço deveria permitir que i chegasse a n. Como i começa em 0, aumenta de 1 em 1 e n não muda, o problema está na condição de parada, provavelmente por um erro de limite, chamado de off-by-one.
- ❌ E) Erro no aumento do índice i, que deveria avançar mais de uma posição. — O texto informa que i aumenta de 1 em 1; além disso, avançar mais de uma posição poderia pular índices, mas não é o que foi indicado.
Dica de resolução: considere os tipos de erros comuns em algoritmos. Conceito central: erros em algoritmos.
Questão 3: o aplicativo de tarefas da Ana
Ana está desenvolvendo um aplicativo para ajudar seus colegas a gerenciar tarefas escolares. Quais passos ela deve seguir para garantir que o algoritmo funcione corretamente?
- ❌ A) Codificar e esperar resultados. — Esperar resultados sem testes não é eficaz.
- ✅ B) Testar com entradas variadas e corrigir. — Testar é essencial para garantir a funcionalidade.
- ❌ C) Implementar sem revisar o código. — Revisar o código é fundamental para evitar erros.
- ❌ D) Documentar o código apenas no final. — Documentação deve ser feita durante o desenvolvimento.
- ❌ E) Pedir ajuda somente quando falhar. — Buscar ajuda durante o processo é mais eficaz.
Dica de resolução: liste os passos do desenvolvimento de algoritmos. Conceito central: desenvolvimento de algoritmos.
Questão 4: variáveis mal definidas
Ao criar um software, um programador usa variáveis para armazenar informações. O que acontece se ele não definir corretamente essas variáveis?
- ❌ A) O software funcionará normalmente. — Variáveis mal definidas geralmente causam falhas.
- ❌ B) O programa fará uma pausa. — Não ocorre uma pausa, mas um erro no código.
- ✅ C) Pode gerar erros inesperados. — Erros nas variáveis podem causar comportamentos indesejados.
- ❌ D) Não haverá impacto visível. — Um erro nas variáveis geralmente gera resultados incorretos.
- ❌ E) O sistema se tornará mais lento. — Lentidão não é um resultado direto de variáveis mal definidas.
Dica de resolução: considere as consequências de variáveis mal definidas em programação. Conceito central: variáveis em programação.
Questão 5: a estrutura do algoritmo
O que ocorre se um algoritmo não for bem estruturado?
- ❌ A) Nada, ele sempre funcionará. — Um algoritmo mal estruturado pode falhar e não funcionar corretamente.
- ❌ B) Ele gera sempre o mesmo resultado. — Resultados podem ser aleatórios, mas erros ocorrem com algoritmos mal feitos.
- ✅ C) Ele pode não executar a tarefa desejada. — Correta, pois erros na estrutura podem levar a falhas.
- ❌ D) Ele será mais rápido. — Um algoritmo mal estruturado tende a ser mais lento devido a erros.
- ❌ E) Ele não precisa ser testado. — Todo algoritmo deve ser testado para garantir que funcione corretamente.
Dica de resolução: pense nas consequências de um algoritmo mal estruturado. Conceito central: estrutura de algoritmos.
Questão 6: o que é depuração
O que significa depuração em programação?
- ❌ A) Criar novos programas. — Criar novos programas não é o que chamamos de depuração.
- ✅ B) Testar e corrigir erros em um programa. — Depuração é o processo de identificar e corrigir erros.
- ❌ C) Documentar código. — Documentação é importante, mas não é depuração.
- ❌ D) Compilar o código. — Compilação é o processo de transformar código fonte em executável, não depuração.
- ❌ E) Executar um programa. — Executar um programa significa rodá-lo, o que não envolve necessariamente depuração.
Dica de resolução: associe depuração à identificação e correção de falhas no código. Conceito central: depuração de programas.
Próximos passos
Se você quer ver todas as questões alinhadas a esse código, acesse a consulta completa do código EF07CO02, que reúne o acervo inteiro da habilidade. Para montar uma prova com esse conteúdo em poucos minutos, use o gerador de provas do GeraProva. E se você ainda não tem conta, o cadastro grátis libera o acesso para começar hoje.
As questões deste post são um ponto de partida: revise-as com o seu olhar de professor e adapte à realidade da sua turma antes de aplicar. O GeraProva ajuda você a ganhar tempo, mas a palavra final sobre a sua avaliação é sempre sua.
Encontrou um erro neste conteúdo? Veja nossa política editorial e avise a gente.
O GeraProva busca questões com gabarito comentado e BNCC no acervo e monta a prova pronta para imprimir.
Habilidades BNCC deste artigo
Questões deste artigo com resolução completa
- Na porta de um centro cultural, um programa simples decide se o visitante paga ingresso ou entra de graça. A…
- Uma lista não vazia possui índices de 0 até n, e n é seu último índice válido. Em um laço, o índice i começa…
- Ana está desenvolvendo um aplicativo para ajudar seus colegas a gerenciar tarefas escolares. Quais passos ela…
- Ao criar um software, um programador usa variáveis para armazenar informações. O que acontece se ele não…
- O que ocorre se um algoritmo não for bem estruturado?
- O que significa depuração em programação?
Fontes
- Base Nacional Comum Curricular (BNCC), Ministério da Educação: basenacionalcomum.mec.gov.br
- Questões do acervo GeraProva sobre Análise de programas, com resolução comentada e análise de cada alternativa.
