Questão de Arquitetura de Software — Banco de Dados — IF-MT 2023
Arquitetura de Software›Banco de Dados
Código
qq952645
Banca
IF-MT
Órgão
IF-MT
Ano
2023
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
Assinale a alternativa INCORRETA sobre funções, conforme Deitel (2011):Fonte: DEITEL, Harvey M.; DEITEL, Paul J. C: como programar. 6 ed. São Paulo: Pearson Hall, 2011.
AEm muitas linguagens de programação, existem duas maneiras de se chamar funções — a chamada por valor e a chamada por referência.
BQuando os argumentos são passados por valor, uma cópia do valor do argumento é feita e passada para a função chamada. As mudanças na cópia não afetam o valor original da variável na chamadora.
CQuando um argumento é passado por referência, o chamador não permite que a função chamada modifique o valor da variável original.
DA chamada por valor deverá ser usada sempre que a função chamada não precisar modificar o valor da variável original da chamadora. Isso evita efeitos colaterais (modificações de variável) acidentais que tanto atrapalham o desenvolvimento de sistemas de software corretos e confiáveis.
EA chamada por referência deve ser usada apenas nos casos de funções chamadas confiáveis, que precisam modificar a variável original.
Revelar gabarito e comentário▾
GabaritoC — Quando um argumento é passado por referência, o chamador não permite que a função chamada modifique o valor da variável original.
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”.
Passagem de Parâmetros: Valor vs. Referência
Gabarito: alternativa C. A afirmativa C está incorreta porque, na chamada por referência, a função chamada pode modificar a variável original da chamadora, ao contrário do que afirma o texto. Esse é o conceito fundamental que diferencia a passagem por referência da passagem por valor.
A questão explora a diferença entre chamada por valor e chamada por referência, conforme a obra de Deitel. A chamada por valor cria uma cópia, protegendo a variável original; a chamada por referência passa o endereço da variável, permitindo que a função altere o conteúdo original (a menos que seja uma referência constante, o que não é o caso geral).
Passagem de parâmetros
1Por valor
Cópia do argumento
Não modifica original
Uso: proteger variável
2Por referência
Endereço da variável
Pode modificar original
Uso: função confiável precisa alterar
LEVEL · soulevel.com.br
Alternativa A — ✅ Correta
Afirma que existem duas maneiras de chamar funções: por valor e por referência, o que é verdadeiro na maioria das linguagens.
Alternativa B — ✅ Correta
Descreve corretamente a passagem por valor: criação de uma cópia que não afeta o original.
Alternativa C — ❌ Incorreta ⟵ GABARITO
O erro está em dizer que "o chamador não permite que a função chamada modifique o valor da variável original". Na passagem por referência, ao contrário, a função pode modificar a variável original, pois recebe seu endereço (ou uma referência). Essa afirmação é o oposto do conceito correto.
Alternativa D — ✅ Correta
Explica corretamente quando usar chamada por valor: quando a variável não deve ser alterada, evitando efeitos colaterais.
Alternativa E — ✅ Correta
Indica que a chamada por referência deve ser usada apenas quando a função precisa modificar a variável original, desde que seja confiável. Isso está alinhado com as boas práticas.
NÃO CAIA NESSA!
A banca inverteu a permissão de modificação na passagem por referência. O candidato que confunde os conceitos pode achar que a afirmativa C está correta. Lembre-se: por referência = pode modificar; por valor = não modifica.