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
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
algoritmo e complexidade
avaliacao
vetores e strings · pseudocódigo e algoritmos
Revisar conceitos de algoritmos e estruturas de dados.
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.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um dia de trabalho, uma entregadora que usa um aplicativo recebe R$ 12 por entrega. Ela gasta R$ 3 por entrega com…
- Em uma gráfica, a quantidade de tinta adicional é registrada em função de uma medida-padrão q. Para um pedido, a…
- Em uma gráfica, uma máquina imprime livros a uma taxa constante. Se trabalha sozinha, produz 120 páginas por hora…
- — O desconto só incide sobre as oficinas, não sobre a entrada — explicou a atendente a um visitante. Na feira municipal…
- Uma associação de ambulantes realizou uma pesquisa sobre o gasto mensal com internet móvel. Os dados foram organizados…
- Uma secretaria municipal recebeu R$ 390 para inscrever dois agentes em um curso, ambos com o mesmo número de oficinas…
🔎 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
