Ed
ano passado
Para entender a chamada da expressão `x = p1(a, p2(b));`, precisamos analisar a ordem em que os procedimentos são chamados e como os registros de ativação são criados. 1. Chamada de `p2(b)`: Quando `p2` é chamado, um registro de ativação para `p2` é criado. Isso é o primeiro passo. 2. Chamada de `p1(a, resultado de p2)`: Após a execução de `p2(b)`, o resultado é passado como argumento para `p1`, que também cria um registro de ativação. Com isso, a ordem de criação dos registros de ativação é: - Primeiro, `p2` é chamado (registro de ativação `?1`). - Depois, `p1` é chamado com o resultado de `p2` (registro de ativação `?2`). Portanto, a sequência correta para os registros de ativação seria: - `p2 - 1` (registro de ativação de `p2`) - `p1 - 2` (registro de ativação de `p1`) Assim, a resposta correta para as partes faltantes do código seria: p2 - 1 - p1 - 2.
Cadastre-se ou realize login
Mais perguntas desse material