Considere um algoritmo que calcula a média de notas por turma. Ao aplicar decomposição, qual vantagem de usar…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Considere um algoritmo que calcula a média de notas por turma. Ao aplicar decomposição, qual vantagem de usar uma variável local para armazenar um dado temporário dentro de uma subrotina?
- A) Salvar dados temporários em um arquivo é uma boa prática em subrotinas, pois mantém os dados persistentes.
- B) Armazenar dados em variáveis de classe em vez de variáveis locais simplifica o código e melhora a performance.
- C) Utilizar constantes ao invés de variáveis locais aumenta a flexibilidade e a facilidade de manutenção do código.
- D) Usar variáveis globais em uma subrotina facilita o acesso aos dados por qualquer parte do algoritmo.
- E) Evita efeitos colaterais entre subrotinas, mantendo o estado encapsulado e reduzindo o acoplamento.
✅ Resposta correta: alternativa E
Resolução passo a passo
- A questão pergunta qual é a vantagem de usar uma variável local para guardar um dado temporário dentro de uma subrotina, no contexto de decomposição de um algoritmo que calcula médias de notas por turma. Passo 2: Uma variável local existe apenas durante a execução da subrotina em que foi declarada. Ela não é visível para o restante do programa, então outras partes do código não conseguem alterá-la por engano. Passo 3: Isso evita efeitos colaterais, ou seja, mudanças inesperadas no estado do programa causadas por uma subrotina que altera dados compartilhados. Também reduz o acoplamento, pois cada subrotina depende só dos parâmetros que recebe e não de variáveis externas. Passo 4: Portanto a alternativa E está correta, e coincide com o gabarito oficial. Passo 5: A alternativa A está errada, porque salvar dados temporários em arquivo não é boa prática para valores intermediários e ainda torna o dado persistente, o oposto do que se deseja. A alternativa B está errada, porque variáveis de classe são compartilhadas entre métodos, o que aumenta o acoplamento, e não simplifica nem melhora o desempenho de forma relevante. A alternativa C está errada, porque constantes têm valor fixo e não substituem variáveis que armazenam dados temporários que mudam durante a execução. A alternativa D está errada, porque variáveis globais permitem acesso e alteração por qualquer parte do algoritmo, o que favorece erros e efeitos colaterais.
💡 Dica: Considere como o escopo local limita o acesso e os efeitos dos dados temporários.
Alternativa por alternativa
O aluno acredita que guardar dados temporários em arquivo é uma forma organizada de manter as informações durante a subrotina. Ele confunde armazenamento persistente com memória de trabalho.
O aluno supõe que variáveis de classe são sempre melhores que variáveis locais, por serem mais fáceis de acessar. Ele não percebe que o compartilhamento aumenta o acoplamento e pode dificultar a manutenção.
O aluno associa flexibilidade a usar constantes no lugar de variáveis, esquecendo que constantes não mudam de valor. Um dado temporário precisa ser alterado durante a execução, então constantes não servem para esse papel.
O aluno confunde facilidade de acesso com boa organização do código. Ele não considera que qualquer parte do algoritmo poder alterar o dado gera efeitos colaterais difíceis de rastrear.
Por que engana: Confundir variáveis locais com variáveis globais e supor que ampliar o acesso aos dados sempre facilita a decomposição, sem considerar efeitos colaterais e acoplamento.
Variáveis locais têm escopo limitado à subrotina, impedindo que outras partes do algoritmo modifiquem esse dado inadvertidamente, o que facilita manutenção, testes e compreensão do módulo.
Raio-X da questão
escopo de variáveis locais
avaliacao
variáveis e subrotinas · escopo de variáveis
Revise escopo, encapsulamento e acoplamento entre subrotinas.
Confundir variáveis locais com variáveis globais e supor que ampliar o acesso aos dados sempre facilita a decomposição, sem considerar efeitos colaterais e acoplamento.
ciencia_tecnologia
tomada_decisao
cientifico
Questões parecidas com resolução
- Em um projeto de programação, você precisa reutilizar um bloco de código que calcula a média de notas. Qual a principal…
- Um programador deseja calcular a média de notas de um grupo de alunos. Como ele pode usar a técnica de decomposição para…
- Descreva como você utilizaria a decomposição para resolver um problema de programação de um algoritmo que calcula a…
- Qual vantagem direta de transformar uma variável global em parâmetro de função ao decompor um algoritmo que manipula…
- Um grupo de alunos deve desenvolver um programa que calcule a média de notas de uma turma. Para isso, eles utilizam…
- Considere um algoritmo que calcula a média de notas de alunos. Quais variáveis devem ser usadas para generalizar o…
Todas as questões de Estratégias de solução de problemas - 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
