Proponha um algoritmo para formar grupos de trabalho interdisciplinares entre estudantes: cada projeto exige…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Proponha um algoritmo para formar grupos de trabalho interdisciplinares entre estudantes: cada projeto exige um conjunto de habilidades (por exemplo, matemática, programação, arte) e cada estudante tem um conjunto de habilidades. Indique quais estruturas de dados (registros, listas, matrizes, grafos) usar, como representá-las e descreva passos para compor grupos que cubram as habilidades necessárias.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Modelo de resposta: - Representações: defina um registro Estudante {id, nome, lista_habilidades} e um registro Projeto {id, tema, lista_habilidades_necessarias, tamanho_min, tamanho_max}. Armazene todos os estudantes e projetos em listas. Crie uma lista de habilidades únicas e opcionalmente uma matriz binária Cobertura[estudante][habilidade] onde 1 indica que o estudante possui a habilidade. - Grafo: construa um grafo bipartido entre estudantes e habilidades (ou entre estudantes e projetos): arestas ligam estudante?habilidade possuída; para ligação direta a projetos, ligue estudante?projeto quando o estudante tem pelo menos uma habilidade útil. - Algoritmo de formação: (1) calcular vetor de necessidades por projeto somando habilidades faltantes; (2) para cada projeto, selecionar candidatos ordenando estudantes por número de habilidades relevantes (greedy) usando a matriz Cobertura; (3) montar grupo inicial com estudantes que cubram habilidades distintas; (4) completar grupo respeitando tamanho_min/max escolhendo estudantes que aumentem cobertura marginal; (5) caso sobrirem habilidades não cobertas, tentar trocar membros entre grupos (heurística local) ou recrutar estudantes não alocados; (6) registrar cada grupo como lista de registros Grupo {projeto_id, lista_estudantes, habilidades_cobertas}. - Validação e refinamento: verificar cobertura de todas as habilidades do projeto, ajustar com trocas iterativas ou reexecução do emparelhamento; atualizar listas e matrizes após cada atribuição. Observações: use listas para coleções dinâmicas, registros para agrupar atributos, matriz para consultas rápidas de presença de habilidade e grafo para visualizar conexões e facilitar algoritmos de emparelhamento ou busca.
Explicação
A explicação apresenta uma abordagem estruturada e lógica para a formação de grupos interdisciplinares, utilizando representações adequadas que facilitam a manipulação e análise dos dados. A combinação de listas, registros, matrizes e grafos permite uma visualização clara das relações entre estudantes e habilidades, além de otimizar o processo de seleção. O algoritmo proposto é eficiente, pois considera tanto as necessidades dos projetos quanto as habilidades dos estudantes, garantindo uma cobertura adequada das competências requeridas.
Raio-X da questão
formação de grupos interdisciplinares
avaliacao
estruturas de dados · algoritmos básicos
Revisar conceitos de algoritmos e estruturas de dados.
Os alunos podem confundir a representação de dados, utilizando uma estrutura inadequada para o problema proposto, como listas quando grafos seriam mais apropriados.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Lia criou um caminho no tabuleiro. O tablet usa “andar 10 passos”, e o robô usa “andar 1 quadrado”. Por que Lia escreveu…
- Algoritmo: "Ler nota. Se nota >= 60 então imprimir 'Aprovado'. Senão imprimir 'Reprovado'." Qual será a saída para nota…
- Na sala, um algoritmo manda ler a temperatura. Se ela for maior que 30 graus, deve ligar o ventilador; caso contrário…
- Descreva em passos um algoritmo que, recebendo a lista de adjacência de um grafo não direcionado, retorne todas as…
- Descreva um algoritmo em pseudocódigo que, dado n variáveis booleanas (dados de entrada), gere todas as 2^n combinações…
- Projete um algoritmo em pseudocódigo que receba uma lista de nomes (strings) como dado de entrada e devolva uma lista de…
🔎 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
