Questão 67030

Tecnologia da Informação · 2025

Questão

ID 67030

Disciplina: Tecnologia da Informação

Assuntos: Conceitos e Propriedades das Linguagens de Programação, Programação Estruturada

Ano: 2025 Banca: PERFIL - ENADE Órgão: Segundo Simulado Pnd


Uma professora de um curso de graduação em Computação, na disciplina de Paradigmas de Linguagens de Programação, está explicando a diferença entre passagem de parâmetros 'por valor' e 'por referência'. Ela sabe que este é um ponto de grande confusão para os alunos, especialmente em linguagens como Python, que usam um mecanismo intermediário chamado 'passagem por atribuição' ou 'passagem por referência de objeto'. Para simplificar e focar no conceito fundamental, ela usa exemplos em uma linguagem hipotética que claramente distingue os dois modos. Ela explica: "Na **passagem por valor**, uma cópia do valor do argumento é passada para a função. Qualquer modificação que a função faça no parâmetro afeta apenas a cópia local, não a variável original fora da função. Na **passagem por referência**, um ponteiro ou uma referência para a variável original é passado para a função. A função pode então usar essa referência para modificar diretamente o valor da variável original." Ela então apresenta dois trechos de código nesta linguagem hipotética:

Código 1 (Passagem por Valor): `procedure modifica(valor x: inteiro) x = x + 10 variavel_a = 5 modifica(variavel_a) print(variavel_a)`

Código 2 (Passagem por Referência): `procedure modifica(referencia x: inteiro) x = x + 10 variavel_b = 5 modifica(variavel_b) print(variavel_b)`

Qual será a saída impressa por cada um dos códigos?

Alternativas da questão 67030
Pular para o conteúdo principal