GeraProva GeraProva Provas com IA para professores do Brasil
Computação4º anoBNCC EF15CO02Média⏱ longo

Projete um algoritmo em pseudocódigo que receba uma lista de nomes (strings) como dado de entrada e devolva…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo que receba uma lista de nomes (strings) como dado de entrada e devolva uma lista de pares (nome, índice) onde índices são inteiros consecutivos começando em 0 atribuídos na ordem da primeira ocorrência. Explique a escolha de estruturas e a complexidade.

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

Resposta esperada

Pseudocódigo: 1. function mapear_nomes(lista): 2. mapa ? dicionário vazio 3. resultado ? lista vazia 4. índice ? 0 5. for nome in lista: 6. if nome not in mapa: 7. mapa[nome] ? índice 8. índice ? índice + 1 9. resultado.append((nome, mapa[nome])) 10. return resultado Escolha e complexidade: - Uso de dicionário (hash map) evita duplicatas e permite consulta/atribuição média O(1). - O algoritmo percorre a lista uma vez: tempo O(m), onde m é o número de nomes na lista. Espaço extra O(k) para o dicionário, sendo k o número de nomes únicos.

Explicação

O pseudocódigo utiliza um dicionário para armazenar os nomes e seus respectivos índices, garantindo que cada nome seja associado ao seu índice apenas na primeira ocorrência. Isso permite que a busca e a inserção sejam feitas de forma eficiente, em média O(1), enquanto o loop que percorre a lista garante que a complexidade total do algoritmo seja linear em relação ao número de nomes. A escolha de estruturas é adequada para evitar duplicatas e otimizar o tempo de execução.

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 em pseudocódigo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · pseudocódigo

📚 Reveja

Revisar conceitos de estruturas de dados e complexidade de algoritmos.

⚠️ Erro mais comum

O aluno pode confundir a ordem de inserção dos nomes com a ordem de saída dos índices, atribuindo índices incorretos.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Algoritmos

🔎 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.