Considere um algoritmo que soma 10 milhões de números em uma lista. Ao aplicar decomposição para paralelizar a…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Considere um algoritmo que soma 10 milhões de números em uma lista. Ao aplicar decomposição para paralelizar a tarefa, qual estratégia divide melhor o trabalho entre threads?
- A) Executar as somas localmente em cada thread, mas ignorar a combinação de resultados.
- B) Distribuir a lista em partes iguais, mas de forma rígida e sequencial.
- C) Somar todos os números em uma única thread para evitar concorrência.
- D) Escolher sempre a primeira metade da lista para uma única thread, ignorando o resto.
- E) Particionar a lista em blocos independentes e atribuir cada bloco a uma thread para somar localmente e combinar resultados.
✅ Resposta correta: alternativa E
Resolução passo a passo
- A tarefa é somar 10 milhões de números. Para paralelizar por decomposição de dados, o ideal é dividir a lista em partes que possam ser processadas de forma independente, de modo que várias threads trabalhem ao mesmo tempo.
- A estratégia correta deve ter três características: dividir os dados em blocos independentes, fazer a soma local de cada bloco em uma thread e, no final, combinar os resultados parciais para obter o total. Isso aproveita o paralelismo e garante que nenhum número seja ignorado.
- A alternativa E descreve exatamente esse processo: particionar a lista em blocos independentes, atribuir cada bloco a uma thread, somar localmente e combinar os resultados. Esta é a alternativa correta, coincidindo com o gabarito oficial.
- Por que as outras estão erradas:
- A) Ignorar a combinação de resultados faz com que a soma final não represente o total da lista.
- B) Partes iguais são boas, mas uma distribuição rígida e sequencial não permite paralelismo real, pois as partes são processadas em ordem.
- C) Usar uma única thread elimina o paralelismo, que é justamente o objetivo da questão.
- D) Ignorar o restante da lista faz com que a soma esteja incompleta, o que está errado.
💡 Dica: Considere como dividir a lista de forma equitativa entre as threads.
Alternativa por alternativa
O aluno entendeu que basta somar em paralelo, sem perceber que os resultados parciais precisam ser combinados para formar o total.
O aluno acredita que dividir em partes iguais já basta, sem notar que a execução 'rígida e sequencial' elimina o ganho do paralelismo.
Por que engana: Escolher uma estratégia que não permite a combinação dos resultados, como ignorar a soma local de cada thread.
O aluno associa paralelismo apenas a risco de concorrência e prefere evitá-lo, desconsiderando que o objetivo da decomposição é justamente acelerar o processamento.
O aluno lê a palavra 'divide' como se pudesse descartar parte dos dados, esquecendo que todos os 10 milhões de números devem ser somados.
Blocos independentes evitam concorrência sobre elementos, permitem balanceamento de carga e reduzem tempo ao somar localmente antes de agregação.
Raio-X da questão
paralelização de algoritmos
avaliacao
paralelização de algoritmos · decomposição de tarefas
Revisar técnicas de paralelização e decomposição de tarefas em algoritmos.
Escolher uma estratégia que não permite a combinação dos resultados, como ignorar a soma local de cada thread.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Lia vai arrumar a mochila para a escola. Como ela pode dividir essa tarefa em partes pequenas?
- O blecaute que interrompeu o funcionamento de um centro comunitário levou os responsáveis a organizar o empréstimo de…
- Uma turma vai criar um aplicativo para organizar tarefas escolares. O grupo percebeu que tentar fazer tudo de uma vez…
- Em um projeto de programação, a turma precisa criar uma solução para várias turmas da escola, com a mesma lógica, mas…
- Uma família quer organizar as despesas do mês em um aplicativo escolar. O processo envolve somar gastos, separar por…
- Ao testar um programa de cadastro, os alunos perceberam que o erro estava apenas na parte que validava o nome do…
🔎 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
