Considere um vetor (matriz unidimensional) chamado 'agenda' em que cada registro possui os campos: dia…
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
Considere um vetor (matriz unidimensional) chamado 'agenda' em que cada registro possui os campos: dia (string), hora (hh:mm), atividade (string) e participantes (vetor de IDs). Proponha um algoritmo em pseudocódigo que detecte todos os pares de atividades conflitantes — mesmas dia e hora e com pelo menos um participante em comum — e descreva qual será a saída do programa.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Pseudocódigo (resposta modelo): function detectarConflitos(agenda): conflitos <- lista vazia n <- comprimento(agenda) for i from 0 to n-2 do for j from i+1 to n-1 do if agenda[i].dia = agenda[j].dia and agenda[i].hora = agenda[j].hora then intersec <- intersecao(agenda[i].participantes, agenda[j].participantes) if tamanho(intersec) > 0 then adicionar(conflitos, {atividade1: agenda[i].atividade, atividade2: agenda[j].atividade, participantesComuns: intersec}) return conflitos function intersecao(A, B): comum <- lista vazia for cada id in A do for cada id2 in B do if id = id2 and id nao esta em comum then adicionar(comum, id) return comum Saída esperada: lista de registros indicando pares de atividades conflituosas com a lista de participantes em comum. Correção: o algoritmo verifica par a par eventos no mesmo dia/hora e testa interseção de participantes. Complexidade: O(n^2 * p) onde n = número de eventos e p = média de participantes por evento.
Explicação
O pseudocódigo apresentado implementa uma abordagem sistemática para identificar conflitos entre atividades, verificando cada par de eventos para coincidências de dia e hora. A função de interseção garante que apenas as atividades com participantes em comum sejam consideradas, resultando em uma lista clara de conflitos. A complexidade do algoritmo é adequada para o problema, permitindo uma análise eficiente dos dados.
Raio-X da questão
algoritmo de conflito
avaliacao
estrutura de dados · algoritmos de busca
Revisar como identificar conflitos em agendamentos.
O aluno pode confundir a lógica de comparação de horários e dias, não considerando corretamente os participantes em comum.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Um aplicativo de voz transforma fala em texto usando dados e algoritmo. Selecione o exemplo de inteligencia artificial.
- Crie um algoritmo em pseudocódigo que solicite números ao usuário até que digite 0; para cada número conte quantos são…
- Elabore um algoritmo em pseudocódigo que, dado um grafo representado por lista de adjacência e dois vértices (origem…
- Ao decompor um algoritmo que calcula o produto de elementos de uma lista de dados, qual subtarefa isola a inicialização…
- Projete em pseudocódigo um algoritmo que, dada uma lista de leituras (lista[1..n]) e um limiar T, retorne o índice da…
- Projete um autômato baseado em eventos para tocar o sinal de entrada e saída das aulas numa escola: descreva estados…
🔎 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
