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

Por que, ao generalizar um algoritmo para várias instâncias, é preferível passar dados via parâmetros em vez…

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

Por que, ao generalizar um algoritmo para várias instâncias, é preferível passar dados via parâmetros em vez de usar variáveis globais?

  1. A) Variáveis globais são sempre mais fáceis de entender do que parâmetros.
  2. B) Passar dados via retorno de função é igual a usar parâmetros.
  3. C) Variáveis globais melhoram a performance do código, reduzindo a quantidade de dados passados.
  4. D) Parâmetros tornam o código mais lento devido à necessidade de cópias.
  5. E) Porque parâmetros tornam dependências explícitas, preservam encapsulamento e evitam efeitos colaterais de variáveis globais.

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. A questão pergunta por que, ao generalizar um algoritmo para várias instâncias, é melhor receber os dados por parâmetros do que por variáveis globais. Uma função generalizada deve funcionar para qualquer conjunto de entrada, e isso exige que ela trabalhe com dados recebidos de fora, não com valores fixos guardados em algum lugar compartilhado.
  2. Ao resolver por conta própria, percebo que o ponto central é a qualidade do projeto: parâmetros deixam explícito de quais dados a função depende, permitem chamar a mesma função com entradas diferentes sem alterar seu código e preservam o encapsulamento, pois a função não mexe em estado externo. Variáveis globais, ao contrário, criam dependências ocultas e podem gerar efeitos colaterais, já que qualquer parte do programa pode alterar o valor e quebrar o comportamento de outra.
  3. Comparando com o gabarito oficial (E), a alternativa E está correta e coincide com a minha conclusão.
  4. Por que as outras estão erradas: A está errada porque variáveis globais costumam dificultar a compreensão do programa, não facilitar. B está errada porque retorno e parâmetro são mecanismos diferentes: o retorno transmite um resultado para fora, enquanto o parâmetro transmite dados para dentro. C está errada porque o uso de globais não melhora a performance de forma relevante e o motivo de preferir parâmetros é de projeto, não de desempenho. D está errada porque passar parâmetros não torna o código lento de forma significativa; em geral o custo é desprezível e o ganho em clareza e manutenção é muito maior.

💡 Dica: Considere as vantagens de encapsulamento e modularidade.

Alternativa por alternativa

A Erradaerro: Senso comum

O aluno acredita que o uso de variáveis globais deixa o código mais simples, pois não é preciso declarar nem passar dados entre funções.

B Erradaerro: Conceitual

O aluno trata retorno e parâmetro como se fossem equivalentes, sem perceber que o retorno envia um resultado para fora da função e o parâmetro envia dados para dentro.

C Erradaerro: Conceituala que mais engana

O aluno supõe que menos dados passados significa melhor desempenho e associa variáveis globais a eficiência, ignorando os problemas de acoplamento e manutenção.

Por que engana: Confundir a utilização de variáveis globais com a eficiência e clareza que os parâmetros proporcionam em um algoritmo.

D Erradaerro: Senso comum

O aluno imagina que cada parâmetro gera cópias caras que deixam o programa lento, sem considerar que esse custo é geralmente desprezível diante dos ganhos de clareza e reutilização.

E Correta

Variáveis globais criam acoplamento oculto entre partes do código, dificultam teste, paralelismo e reutilização; parâmetros deixam claro o que é necessário e facilitam controle de estado.

Raio-X da questão

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

algoritmos e parâmetros

📌 Objetivo

avaliacao

🧱 Pré-requisitos

entendimento de algoritmos · uso de funções em programação

📚 Reveja

Revisar a diferença entre variáveis globais e parâmetros em funções.

⚠️ Erro mais comum

Confundir a utilização de variáveis globais com a eficiência e clareza que os parâmetros proporcionam em um algoritmo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

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.