Logo Passei Direto
Buscar
m uma linguagem onde inteiros são imutáveis e listas são objetos mutáveis (como Python), uma função recebe um inteiro x e uma lista L. Dentro da função, x é incrementado e elementos de L são modificados. Após a chamada, observa-se que x fora da função não mudou, mas L foi alterada. Assinale a alternativa que explica corretamente o ocorrido. A O inteiro foi passado por valor (cópia) e a lista por referência; por isso x não mudou fora da função, mas L mudou. B Tanto o inteiro quanto a lista foram passados por valor; por isso ambos não mudaram fora da função. C Tanto o inteiro quanto a lista foram passados por referência; por isso ambos mudaram fora da função. D O inteiro foi passado por referência e a lista por valor; por isso x mudou fora da função e L não mudou.
User badge image
Davi Guimarães

há 4 semanas

Respostas

User badge image

Ed Verified user icon

há 4 semanas

Vamos analisar as alternativas com base no comportamento de passagem de parâmetros em Python, onde inteiros são imutáveis e listas são mutáveis. 1. Inteiros: Quando um inteiro é passado para uma função, ele é passado por valor (cópia). Isso significa que qualquer modificação feita na variável dentro da função não afeta a variável original fora da função. 2. Listas: As listas, por outro lado, são passadas por referência. Isso significa que se você modificar a lista dentro da função, a lista original fora da função também será alterada. Agora, vamos analisar as alternativas: A) O inteiro foi passado por valor (cópia) e a lista por referência; por isso x não mudou fora da função, mas L mudou. Correta - Esta alternativa explica corretamente o que aconteceu. B) Tanto o inteiro quanto a lista foram passados por valor; por isso ambos não mudaram fora da função. Incorreta - O inteiro realmente foi passado por valor, mas a lista foi passada por referência, então a lista mudou. C) Tanto o inteiro quanto a lista foram passados por referência; por isso ambos mudaram fora da função. Incorreta - O inteiro não mudou fora da função, pois foi passado por valor. D) O inteiro foi passado por referência e a lista por valor; por isso x mudou fora da função e L não mudou. Incorreta - O inteiro foi passado por valor, não por referência. Portanto, a alternativa correta é: A.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina