Questão
ID 67538Disciplina: Tecnologia da Informação
Assuntos: Listas, Python
Ano: 2025 Banca: PERFIL - ENADE Órgão: Quarto Simulado Pnd
Uma professora de programação está ensinando sobre tipos de dados e quer que seus alunos compreendam a diferença fundamental entre tipos de dados 'por valor' (value types) e 'por referência' (reference types) na memória. Ela explica: "Quando você cria uma variável de um **tipo de valor**, como um inteiro ou um booleano, a variável armazena o próprio valor diretamente. Se você atribui essa variável a outra, uma cópia do valor é feita. As duas variáveis são independentes. Quando você cria uma variável de um **tipo de referência**, como um objeto ou um array (na maioria das linguagens), a variável não armazena o objeto diretamente. Em vez disso, ela armazena um 'endereço' ou uma 'referência' para o local na memória onde o objeto real está. Se você atribui essa variável a outra, apenas a referência é copiada, não o objeto. Ambas as variáveis acabam apontando para o mesmo objeto na memória." Para a atividade prática, ela apresenta dois trechos de código em Python, onde listas se comportam como tipos de referência.
Código 1: `a = 10 b = a b = 20 print(a)`
Código 2: `lista_a = [10, 20] lista_b = lista_a lista_b.append(30) print(lista_a)`
Qual será a saída de cada código e o que eles demonstram sobre tipos de valor e referência?