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
- Descreva em pseudocódigo um algoritmo que detecte conflitos de sala em uma matriz 'horarios' onde cada registro é [dia…
- Crie um algoritmo em pseudocódigo que, dada uma matriz em que cada linha é um registro de aula com campos: disciplina…
- Desenvolva um algoritmo em pseudocódigo que, dada uma matriz 'agenda' de registros [dia, hora, descricao], remova…
- Elabore em pseudocódigo um algoritmo que, dado um vetor de registros 'tarefas' (descricao, duracao_horas, prioridade) e…
- Descreva em pseudocódigo um algoritmo que recebe uma matriz de registros 'agenda' (linhas = dias, colunas = horários)…
- Projete um algoritmo em pseudocódigo que converta uma matriz 'horarios' de dimensão D×H (dias × horários) em uma lista…
🔎 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
