GeraProva GeraProva Provas com IA para professores do Brasil
Matemática1ª sérieBNCC EM13MAT405Média⏱ longo

Descreva em pseudocódigo um algoritmo que recebe um vetor de strings cores[1..n] e constrói uma tabela de…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13MAT405

Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Descreva em pseudocódigo um algoritmo que recebe um vetor de strings cores[1..n] e constrói uma tabela de frequências (associando cada cor à sua contagem). Explique também como representar a tabela usando registros ou uma matriz e qual a complexidade esperada.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Pseudocódigo (usando dicionário/map para eficiência): 1. função Frequencia(cores[1..n]) 2. tabela := mapa vazio // chave: string, valor: inteiro 3. para i de 1 até n faça 4. se tabela.contém(cores[i]) então 5. tabela[cores[i]] := tabela[cores[i]] + 1 6. senão 7. tabela[cores[i]] := 1 8. fim se 9. fim para 10. retornar tabela 11. fim função Representação alternativa sem mapa: usar uma matriz R[k][2] onde cada linha guarda [valor, contagem]; ao processar cada cor, procura-se sequencialmente na coluna de valores e atualiza ou adiciona nova linha. A versão com mapa usa um registro implícito (par chave/valor) e proporciona tempo médio O(n) para n elementos; a versão com matriz sem índices auxiliares tem pior caso O(n^2) por buscas lineares. Exemplo: cores = ["vermelho","azul","vermelho"] ? tabela {"vermelho":2, "azul":1}.

Explicação

O pseudocódigo apresentado utiliza um mapa para armazenar as frequências de cada cor de forma eficiente, permitindo inserções e buscas rápidas. A representação alternativa com matriz é menos eficiente, pois requer buscas lineares para atualizar as contagens, resultando em maior complexidade no pior caso. A comparação entre as duas abordagens ilustra a importância de escolher a estrutura de dados adequada para otimizar o desempenho do algoritmo.

Raio-X da questão

Dificuldade Média
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

algoritmo e complexidade

📌 Objetivo

avaliacao

🧱 Pré-requisitos

vetores e strings · pseudocódigo e algoritmos

📚 Reveja

Revisar conceitos de algoritmos e estruturas de dados.

⚠️ Erro mais comum

O aluno pode confundir a estrutura de dados a ser utilizada, optando por uma lista simples ao invés de uma tabela de frequências.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Leitura e interpretação de tabelas e gráficos (de colunas ou barras simples ou múltiplas) referentes a variáveis categóricas e variáveis numéricas

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

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.