Questão de Programação — Programação Orientada a Objetos — VUNESP 2023
Programação›Programação Orientada a Objetos
Código
vu073348
Banca
VUNESP
Órgão
DPE-SP
Ano
2023
Nível
Superior
Cargo
Agente de Defensoria - Analista Desenvolvedor
Os parâmetros que são passados para uma função de um programa são denominados parâmetros reais, enquanto que os parâmetros recebidos por uma função são denominados parâmetros formais. Neste contexto, em uma chamada de função por valor, os valores dos parâmetros reais
Asão copiados para os parâmetros formais da função, e as alterações nestes efetuadas dentro da função refletem-se em alterações nos parâmetros reais.
Bsão copiados para os parâmetros formais da função, e as alterações nestes efetuadas dentro da função não implicam em alterações nos parâmetros reais.
Cnão são copiados para os parâmetros formais da função, e as alterações efetuadas nestes dentro da função, refletem-se em alterações nos parâmetros reais.
Dnão são copiados para os parâmetros formais da função, e as alterações efetuadas nestes dentro da função, não implicam em alterações nos parâmetros reais.
Enão são copiados para os parâmetros formais da função, e esta não pode realizar alterações em seus parâmetros formais.
Revelar gabarito e comentário▾
GabaritoB — são copiados para os parâmetros formais da função, e as alterações nestes efetuadas dentro da função não implicam em alterações nos parâmetros reais.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Programação: Parâmetros por Valor
Gabarito: letra B. Na chamada por valor, os valores dos parâmetros reais (argumentos) são copiados para os parâmetros formais da função. Como a função trabalha com cópias, quaisquer alterações feitas nos parâmetros formais dentro da função não afetam os parâmetros reais originais. Esse é o comportamento padrão em linguagens como C, Java (para tipos primitivos) e Python (para tipos imutáveis).
A questão testa justamente a diferença entre passagem por valor e passagem por referência. A alternativa B descreve corretamente o mecanismo.
Passagem de parâmetros
1Parâmetros reais (argumentos)
2Parâmetros formais (recebidos)
3Por valor
Cópia dos valores
Alterações internas não refletem
4Por referência
Sem cópia
Alterações refletem no original
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que as alterações nos parâmetros formais refletem nos parâmetros reais. Isso é característico da passagem por referência, não da passagem por valor. Na passagem por valor, as alterações são locais à função.
Alternativa B — ✅ Correta ⟵ GABARITO
Conforme descrito acima: os valores são copiados e as modificações internas não implicam em alterações nos parâmetros reais. Exatamente o que a passagem por valor faz.
Alternativa C — ❌ Incorreta
Diz que os parâmetros reais "não são copiados" e que as alterações refletem. A primeira parte é falsa (são copiados sim) e a segunda parte também é falsa (não refletem).
Alternativa D — ❌ Incorreta
Afirma que os parâmetros reais não são copiados. Na passagem por valor eles são copiados; a consequência (não refletir) está correta, mas a premissa está errada.
Alternativa E — ❌ Incorreta
Diz que não são copiados e que a função não pode realizar alterações nos parâmetros formais. Na verdade, a função pode alterar os parâmetros formais (as cópias), mas essas alterações não saem da função. A afirmação de que "não pode realizar alterações" é incorreta.
NÃO CAIA NESSA!
A banca explora a confusão clássica entre passagem por valor e por referência. Lembre-se: por valor = cópia, sem efeito colateral; por referência = sem cópia, alterações afetam o original.