Atividades sobre Programação com gabarito — 6º ano, 7º ano, 8º ano, 9º ano (EF69CO01)
Quando recebo a EF69CO01 no planejamento, eu não penso primeiro em código na tela. Penso naquela pergunta que os estudantes fazem quando precisam organizar informações: “onde eu guardo isso?”. É justamente aí que a habilidade ganha vida: em listas de presença, notas, materiais da mochila, resultados de uma pesquisa ou dados de uma estação meteorológica.
O desafio é transformar um texto curto da BNCC em situações em que a turma realmente precise decidir como agrupar dados. Com propostas simples, papel, quadro e exemplos da rotina escolar, eu consigo trabalhar a ideia de coleção, tipo de dado e organização das informações antes mesmo de abrir um ambiente de programação.
O que a habilidade EF69CO01 pede, de verdade?
A EF69CO01 pede que o estudante consiga olhar para informações e organizá-las de modo intencional: identificar o que pertence à mesma coleção, perceber qual é o tipo de cada dado e associar cada conjunto a esse tipo. Na prática, não basta reconhecer palavras como “lista”, “matriz” ou “registro”; a turma precisa justificar por que nomes podem formar uma coleção de textos, notas podem formar uma coleção numérica e dados de um aluno, como nome e nota, precisam ficar relacionados em campos identificados. É uma base importante para Programação porque os programas trabalham o tempo todo com dados organizados. Do 6º ao 9º ano, eu adapto a complexidade: começo com classificações do cotidiano e avanço para listas, matrizes, registros e dicionários. O foco não é decorar estruturas sofisticadas, mas compreender que a forma de guardar uma informação interfere na maneira de encontrá-la, usá-la e resolver um problema.
“Classificar informações, agrupando-as em coleções (conjuntos) e associando cada coleção a um ‘tipo de dado’.”
Em outras palavras: a habilidade trabalha o raciocínio de quem organiza dados antes de programar. Se a turma entende que uma lista é uma sequência, uma matriz tem linhas e colunas e um registro reúne campos diferentes de uma pessoa ou objeto, ela passa a tomar decisões mais conscientes.
Como trabalhar EF69CO01 em sala?
- Organização da mochila: eu peço que grupos listem objetos escolares e os classifiquem: materiais com nome, quantidades, preços e cores. Depois, conversamos sobre tipos como texto e número e sobre quais informações poderiam formar uma lista.
- Cadastro da turma no papel: cada grupo cria uma ficha de aluno com nome, turma, matrícula e notas. A discussão central é: isso é uma lista de itens iguais ou um conjunto de campos relacionados? Assim, o registro deixa de ser uma palavra abstrata.
- Pesquisa relâmpago: a turma coleta dados simples, como meio de transporte para chegar à escola e tempo de deslocamento. Podemos separar respostas textuais e numéricas, criar listas e montar uma tabela, discutindo a diferença entre coleção e matriz.
- Jogo “qual estrutura eu escolho?”: escrevo situações no quadro: “guardar compras em ordem”, “localizar nota pelo nome”, “registrar nome e telefone de uma pessoa”. Os estudantes defendem se usariam lista, dicionário, matriz ou registro.
- Dados do clima: com temperaturas fictícias de alguns dias, a turma monta primeiro uma sequência e depois uma tabela de cidades por horários. É uma forma acessível de visualizar um índice e a combinação linha-coluna.
Como avaliar essa habilidade?
Uma boa questão de EF69CO01 apresenta uma necessidade concreta de organização e pede que o estudante relacione os dados à estrutura mais adequada. Ela pode cobrar a identificação de coleções de texto, números ou informações mistas; a diferença entre uma sequência e uma tabela; ou a escolha de campos nomeados para representar uma pessoa, produto ou evento.
Eu evito avaliar apenas vocabulário solto, como “defina matriz”. Também tomo cuidado para não exigir linguagem de programação específica, pois a habilidade trata do pensamento computacional. Um erro comum é usar enunciados sem contexto e alternativas que se diferenciam por detalhes técnicos que ainda não foram trabalhados. Outro é aceitar que a turma marque “lista” para tudo: uma lista pode guardar muitos dados, mas nem sempre deixa clara a relação entre campos como nome e nota. Na correção, peço justificativa curta: “por que essa estrutura ajuda a encontrar ou organizar a informação?”.
Para ampliar a avaliação, há consulta completa do código EF69CO01, com todas as questões disponíveis no acervo.
Questões prontas de EF69CO01 (com gabarito comentado)
1. Em uma atividade de Computação, Ana precisa guardar os nomes dos estudantes de uma turma. Ela estudou três estruturas de dados: listas, matrizes e registros. Qual opção reúne todas as estruturas de dados estudadas que podem ser usadas para armazenar uma lista de nomes?
- ✅ A) Listas, matrizes e registros. As três estruturas podem armazenar nomes: listas organizam sequências, matrizes organizam dados em linhas e colunas, e registros reúnem informações relacionadas.
- ❌ B) Somente listas. Ignora que matrizes e registros também podem guardar nomes.
- ❌ C) Listas e matrizes. Deixa os registros de fora, embora também possam armazenar esse tipo de informação.
- ❌ D) Somente registros. Desconsidera listas e matrizes como possibilidades.
- ❌ E) Somente matrizes. Exclui indevidamente listas e registros.
2. Considere um problema em que você deve calcular a soma de múltiplos números. Como você poderia criar um algoritmo que permita lidar com diferentes quantidades de números?
- ❌ A) Utilizar um número fixo de entradas. Um número fixo não atende a quantidades variáveis.
- ✅ B) Usar uma lista de números como entrada. A lista permite tratar diferentes quantidades de valores com flexibilidade.
- ❌ C) Limitar a soma a apenas três números. Isso impede lidar com mais ou menos valores.
- ❌ D) Somar apenas números inteiros. A restrição ao tipo numérico não resolve a variação na quantidade de entradas.
- ❌ E) Necessário um formato específico de entrada. Um formato rígido pode limitar a adaptabilidade do algoritmo.
3. Na escola, cada aluno será cadastrado com dois dados: seu nome e sua nota final. Esses dados devem ficar reunidos e identificados por seus respectivos campos. Qual estrutura de dados é mais apropriada?
- ❌ A) Lista para dados. A lista é sequencial e não destaca tão claramente os campos diferentes de um aluno.
- ✅ B) Registro para dados. O registro reúne nome e nota em campos identificados e relacionados.
- ❌ C) Matriz para dados. Matrizes são mais adequadas a uma organização tabular de linhas e colunas.
- ❌ D) Pilha para dados. A regra de último a entrar, primeiro a sair não resolve o cadastro.
- ❌ E) Grafo para dados. Não há relações em rede entre alunos a representar.
4. Em um programa escolar, cada aluno terá seu nome ligado à sua nota. O professor deverá informar um nome e encontrar rapidamente a nota correspondente, sem procurar em uma sequência de posições. Qual estrutura é mais indicada?
- ❌ A) Lista. Organiza por posições, sem representar diretamente a ligação nome-nota.
- ❌ B) Matriz. É mais adequada a linhas e colunas com posições definidas.
- ❌ C) Grafo. Serve melhor para redes e relações complexas.
- ✅ D) Dicionário. Armazena pares de chave e valor: o nome pode ser a chave e a nota, o valor.
- ❌ E) Fila. A ordem de chegada e saída não ajuda a localizar uma nota pelo nome.
5. Uma escola precisa guardar, em uma única unidade, nome, matrícula, turma e quatro notas bimestrais de cada aluno, com campos identificados. Qual estrutura é mais adequada?
- ❌ A) Conjunto. Não organiza elementos por campos nomeados.
- ❌ B) Array. Privilegia posições ou índices, não campos diferentes identificados.
- ❌ C) Matriz. Organiza linhas e colunas, mas não é a melhor opção para campos nomeados e de tipos distintos de um aluno.
- ✅ D) Registro. Reúne campos como nome, matrícula, turma e notas, cada qual com seu rótulo e tipo possível.
- ❌ E) Grafo. Não há uma rede de relações entre elementos no problema.
6. Em um projeto de qualidade do ar, foram usadas as estruturas [24, 26, 25] e [[24, 25], [26, 27], [23, 24]]. Qual diferença estrutural explica a localização dos dados em lista e matriz?
- ❌ A) A lista permite localizar valores por posição, enquanto a matriz não permite localizar valores individualmente. A matriz também localiza valores, usando linha e coluna.
- ❌ B) A lista organiza os dados em linhas e colunas, enquanto a matriz os organiza em uma dimensão. As características foram invertidas.
- ✅ C) A lista organiza os dados em uma dimensão, enquanto a matriz os organiza em linhas e colunas. A lista usa um índice; a matriz exige a combinação de dois índices.
- ❌ D) A lista representa dados de uma estação, enquanto a matriz representa dados de diferentes horários. Isso descreve o exemplo, não a definição estrutural.
- ❌ E) A lista armazena somente números inteiros, enquanto a matriz armazena números decimais. A diferença não é o tipo numérico, mas a organização dos dados.
Próximos passos
Eu começaria com uma classificação feita pela própria turma e, na sequência, aplicaria duas ou três questões para verificar se a escolha da estrutura foi compreendida. Para variar níveis e montar avaliações sem perder tempo, vale explorar o gerador de provas do GeraProva e fazer o cadastro grátis.
Use estas questões como ponto de partida e adapte os exemplos à realidade da sua turma: quando os dados fazem sentido para os estudantes, Programação deixa de parecer distante.
