GeraProva GeraProva Provas com IA para professores do Brasil
Computação3º anoBNCC EF15CO04Difícil⏱ longo

Projete e descreva com precisão um algoritmo e as estruturas de dados para gerir um torneio por rodadas entre…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO04

Aplicar a estratégia de decomposição para resolver problemas complexos, dividindo esse problema em partes menores, resolvendo-as e combinando suas soluções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete e descreva com precisão um algoritmo e as estruturas de dados para gerir um torneio por rodadas entre N jogadores: cadastrar jogador (nome, matrícula, rating), gerar pareamentos por rodada, registrar resultados e calcular classificação final. Indique tipos (registro, lista, matriz, grafo) e passos do processamento.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Defina um registro Player {id, nome, matricula, rating, pontos, desempate} e um registro Match {rodada, idA, idB, resultado}. Use uma lista (array) players para armazenar registros de jogadores e uma lista de listas matches_por_rodada onde cada entrada é a lista de Matches daquela rodada. Geração de pareamentos: para round-robin, gerar pares por índices (para i=0..N-1, j=i+1..N-1 criar Match); para sistema suíço, ordenar players por pontos antes de cada rodada e parear adjacentes. Processamento por rodada: para cada Match ler resultado, atualizar pontos de players (ex.: vitória=1, empate=0.5) e registrar no history (matches_por_rodada). Cálculo da classificação: ao final, ordenar a lista players por pontos e critérios de desempate; para consulta rápida de confrontos use uma matriz booleana NxN ou um dicionário (idA,idB)->resultado. Complexidade: round-robin gera O(N^2) partidas; suíço com R rodadas gera O(R·N log N) por classificação. Persistência: salvar players como registros em arquivo ou banco; matches em lista de registros. Essa solução usa registros para modelos de entidade, listas para coleções ordenadas e matriz/dicionário opcional para consultas rápidas de confrontos.

Explicação

A proposta apresentada utiliza registros para encapsular informações dos jogadores e das partidas, facilitando a manipulação dos dados. A escolha de listas permite armazenar e organizar os jogadores e os resultados das partidas de forma eficiente, enquanto a matriz ou dicionário oferece uma maneira rápida de consultar confrontos. A descrição dos passos do processamento e a análise da complexidade garantem que o algoritmo seja claro e viável para a gestão do torneio.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

algoritmo de torneio

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos básicos

📚 Reveja

Revisar conceitos de estruturas de dados e algoritmos de pareamento.

⚠️ Erro mais comum

O aluno pode descrever um algoritmo muito simples, sem considerar a complexidade do torneio e a necessidade de registrar resultados de forma adequada.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Decomposiçã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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.