GeraProva GeraProva Provas com IA para professores do Brasil
Computação3ª sérieBNCC EM13CO02Difícil⏱ medio

Para tornar um algoritmo reutilizável e seguro para execução paralela, qual prática relacionada a variáveis e…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO02

Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Para tornar um algoritmo reutilizável e seguro para execução paralela, qual prática relacionada a variáveis e efeitos colaterais deve ser adotada para evitar condições de corrida?

  1. A) Usar variáveis globais para compartilhar dados entre threads.
  2. B) Permitir efeitos colaterais para aumentar a flexibilidade do algoritmo.
  3. C) Eliminar variáveis globais e efeitos colaterais; usar funções puras e estado local por thread.
  4. D) Usar somente loops para execução paralela, ignorando variáveis.
  5. E) Criar apenas funções aninhadas dentro de outras funções.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. A questão pergunta qual prática torna um algoritmo reutilizável e seguro para execução paralela, evitando condições de corrida. Uma condição de corrida ocorre quando duas ou mais threads acessam e modificam o mesmo dado compartilhado ao mesmo tempo, e o resultado depende da ordem de execução.
  2. Os principais causadores desse problema são variáveis globais (estado compartilhado) e efeitos colaterais (funções que alteram estado externo). Eliminá-los reduz drasticamente o acesso concorrente a dados mutáveis.
  3. Funções puras, que dependem apenas de suas entradas e não alteram nada fora de si, e estado local por thread, que não é compartilhado, são as práticas que garantem segurança em paralelo e reutilização. A alternativa C reúne exatamente essas duas ideias, sendo a correta.
  4. Por que as outras estão erradas: A usa variáveis globais compartilhadas, justamente a principal fonte de condições de corrida. B defende efeitos colaterais, que tornam o comportamento imprevisível em paralelo. D sugere ignorar variáveis, o que não resolve o problema de dados compartilhados e não descreve uma prática de segurança. E trata de funções aninhadas, que não têm relação com a segurança em execução paralela.
  5. Conclusão: a alternativa C é a resposta correta, e ela coincide com o gabarito oficial.

💡 Dica: Considere as práticas de programação que minimizam efeitos colaterais.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno acredita que compartilhar dados por variáveis globais facilita a comunicação entre threads, sem perceber que o acesso simultâneo a esse mesmo dado é a causa típica de condições de corrida.

Por que engana: Confundir o uso de variáveis globais com a segurança em algoritmos paralelos, levando a condições de corrida.

B Erradaerro: Conceitual

O aluno associa efeitos colaterais à flexibilidade e supõe que mais flexibilidade traz mais segurança, ignorando que alterar estado externo torna o resultado dependente da ordem de execução das threads.

C Correta

Funções puras não dependem nem alteram estado externo, permitindo execução concorrente sem conflitos por acesso a variáveis compartilhadas.

D Erradaerro: Conceitual

O aluno entende que paralelismo se resume a repetir loops e que tratar variáveis é irrelevante, não percebendo que é justamente o manejo de dados compartilhados que define a segurança da execução paralela.

E Erradaerro: Conceitual

O aluno confunde a organização estrutural do código (funções aninhadas) com a segurança em concorrência, supondo que a forma de organizar funções determina se há condição de corrida.

Raio-X da questão

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

algoritmos seguros

📌 Objetivo

avaliacao

🧱 Pré-requisitos

variáveis e efeitos colaterais · execução paralela

📚 Reveja

Revisar práticas de programação para evitar condições de corrida.

⚠️ Erro mais comum

Confundir o uso de variáveis globais com a segurança em algoritmos paralelos, levando a condições de corrida.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 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.