Descreva em pseudocódigo um algoritmo que detecte conflitos de sala em uma matriz 'horarios' onde cada…
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
Descreva em pseudocódigo um algoritmo que detecte conflitos de sala em uma matriz 'horarios' onde cada registro é [dia, inicio, fim, sala]. O algoritmo deve retornar pares de registros que se sobrepõem na mesma sala e no mesmo dia. Explique também a complexidade temporal e como validar entradas (ex.: horários inválidos).
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Pseudocódigo modelo: resultado = [] salasPorDia = mapa vazio // chave = (dia,sala) -> lista para cada reg em horarios: se reg.inicio >= reg.fim ou formatos inválidos: registrar erro e continuar salasPorDia[(reg.dia, reg.sala)].append(reg) para cada lista L em salasPorDia: ordenar L por inicio para i de 0 até len(L)-2: se L[i].fim > L[i+1].inicio: resultado.append((L[i], L[i+1])) retornar resultado Explicação e complexidade: - Agrupar registros é O(n). Ordenar cada grupo custa S s_i log s_i = O(n log n) no pior caso, então complexidade total O(n log n). Espaço adicional O(n) para agrupar. - Validação: checar formatos de tempo, garantir inicio<fim, limites do dia; entradas inválidas podem ser reportadas e ignoradas ou corrigidas conforme regra do sistema.
Explicação
O algoritmo organiza os registros por dia e sala, permitindo a verificação eficiente de sobreposições. A ordenação dos horários dentro de cada grupo facilita a identificação de conflitos, garantindo que a comparação seja feita apenas entre registros relevantes. A validação das entradas assegura que apenas dados consistentes e úteis sejam processados, evitando erros durante a execução do algoritmo.
Raio-X da questão
conflitos de sala
avaliacao
pseudocódigo · estruturas de dados
Revisar conceitos de algoritmos e complexidade temporal.
O aluno pode confundir a lógica de comparação de horários, não considerando corretamente os casos em que os horários se sobrepõem.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Enquanto visitantes aguardavam a abertura de um museu, técnicos programaram um painel luminoso e um robô-guia para…
- Para resolver uma atividade de Matemática, um estudante anota os passos nesta ordem: ler o enunciado, identificar os…
- Em um aplicativo, o total de maçãs é calculado a partir de duas informações informadas pelo usuário: as maçãs que estão…
- No fim da tarde, a responsável por uma sala de leitura separa dois tablets para um grupo de crianças. Antes de entregar…
- Descreva, em algoritmo de alto nível (passos), como um receptor deve processar pacotes de um arquivo recebido: verificar…
- Proponha um algoritmo de alto nível para que um sistema destino reconstitu´a um arquivo recebido em pacotes que podem…
🔎 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
