Em um algoritmo que relaciona projetos escolares a seus autores, onde um autor pode participar de vários…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar as principais formas de organizar e representar a informação de maneira estruturada (matrizes, registros, listas e grafos) ou não estruturada (números, palavras, valores verdade).
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo que relaciona projetos escolares a seus autores, onde um autor pode participar de vários projetos e um projeto ter vários autores, qual estrutura de dados modela melhor essas conexões e que tipo de dado é adequado para o identificador do projeto?
- A) Lista de strings 'autor:projeto' concatenadas; 'id do projeto' como título (string).
- B) Matriz fixa autores×projetos; 'id do projeto' como float.
- C) Dicionário projeto?autor único; 'id do projeto' como booleano.
- D) Grafo para modelar conexões muitos-para-muitos; identificador do projeto como inteiro (ID) e título como string.
- E) Árvore onde cada projeto tem apenas um autor; 'id do projeto' como int.
✅ Resposta correta: alternativa D
Resolução passo a passo
- A questão pede duas coisas: a estrutura de dados que melhor modela uma relação muitos-para-muitos (um autor participa de vários projetos e um projeto tem vários autores) e o tipo de dado adequado para o identificador do projeto.
- Para relações muitos-para-muitos, a estrutura natural é um grafo bipartido, em que autores e projetos são vértices e as participações são arestas. Assim, cada conexão é representada diretamente, sem duplicar dados nem impor limites artificiais.
- O identificador do projeto deve ser um valor único, simples de comparar e indexar. Um inteiro (ID) cumpre bem esse papel, enquanto o título pode ser uma string descritiva, que nem sempre é única e é mais pesada para buscas. Logo, a alternativa D é a correta, e coincide com o gabarito oficial.
- Por que as outras estão erradas:
- A) Concatenar 'autor:projeto' em uma lista torna as consultas caras e frágeis, e usar o título como identificador é inadequado porque títulos podem se repetir.
- B) Uma matriz fixa desperdiça memória, exige dimensões conhecidas de antemão e float não é um tipo adequado para identificador.
- C) Um dicionário projeto-autor único impede que um projeto tenha vários autores, contrariando o enunciado, e booleano não serve como identificador.
- E) Uma árvore com um único autor por projeto também contraria a relação muitos-para-muitos descrita.
- Conclusão: a estrutura que melhor modela as conexões é o grafo, e o identificador do projeto deve ser inteiro (ID), confirmando o gabarito D.
💡 Dica: Considere as relações entre autores e projetos ao escolher a estrutura de dados.
Alternativa por alternativa
O aluno acredita que concatenar pares autor:projeto em uma lista é uma forma adequada de representar a relação, e que o título serve como identificador único.
O aluno supõe que uma matriz fixa autores×projetos é a melhor solução e que um número decimal (float) pode funcionar como identificador.
Por que engana: Confundir a estrutura de dados adequada para relacionamentos muitos-para-muitos, optando por uma lista ou matriz que não representa corretamente as conexões.
O aluno entende que cada projeto deve ter apenas um autor no dicionário e confunde identificador com um valor de verdade (booleano).
Grafos representam nós (projetos/autores) e arestas (participação), permitindo consultas de relações. Um ID inteiro facilita indexação e busca eficiente; título usa string para texto.
O aluno restringe a relação a um autor por projeto, ignorando o enunciado que fala em projetos com vários autores, apesar de acertar o tipo int para o identificador.
Raio-X da questão
estruturas de dados
avaliacao
estruturas de dados · tipos de dados
Revisar conceitos de estruturas de dados e suas aplicações em algoritmos.
Confundir a estrutura de dados adequada para relacionamentos muitos-para-muitos, optando por uma lista ou matriz que não representa corretamente as conexões.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Ao modelar uma rede de colaboração entre alunos em um algoritmo — onde conexões representam quem já trabalhou com quem —…
- Em um projeto, uma turma quer representar uma rede social da escola. Cada estudante pode estar ligado a alguns colegas…
- Projete um grafo para representar o acervo de uma biblioteca escolar em que vértices são livros e arestas indicam 'mesma…
- Considere um projeto em que você precisa modelar a rede de amigos de um usuário em uma rede social. Qual estrutura de…
- Em programação, qual estrutura de dados é mais adequada para representar relacionamentos entre objetos?
- Em um algoritmo que recomenda amizades entre estudantes com base em conexões mútuas, que estrutura de dados representa…
Todas as questões de Organização e representação da informação
🔎 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
