Logo Passei Direto
Buscar
Procedimentos são rotinas que complementam as funcionalidades de um programa. Quando um procedimento é chamado um Registro de Ativação é criado e colocado na pilha.
Com base nisso considere a seguinte expressão onde p1 e p2 são funções x = p1 (a, p2(b)); Sabendo-se que o código abaixo mostra a implementação do trecho em código intermediário em que ?1, ?2, ?3 e ?4 representam partes faltantes do código.
p2 - 2 - p1 - 1
p1 - 1 - p2 - 2
p1 - 2 - p2 - 1
p2 - 1 - p1 - 2
p2 - 2 - p1 - 2
User badge image
Questões Para a Compreensão

ano passado

Respostas

User badge image

Ed Verified user icon

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.

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

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

Essa pergunta também está no material:

Mais perguntas desse material

Mais conteúdos dessa disciplina