Para cada programa a seguir, monte a tabela de acompanhamento, exibindo o valor das variáveis após a execução de cada instrução.
b=10 / 5
c=b+3
while (c<8):
a=b * b
b=a
c=c+1
a=b / a
b=b / c

Passo 1

O enunciado pede que façamos o acompanhamento (trace) das variáveis ;a,b,c; ao longo de um programa com atribuições simples e um laço while. O conteúdo é controle de fluxo e atribuição de variáveis.

Passo 2

Primeiro executamos as duas atribuições iniciais antes do while:
  • ;b = 10/5; define ;b = 2.
  • ;c = b + 3; define ;c = 2 + 3 = 5.

Passo 3

O while (c < \(8\)) repete seu corpo enquanto . Como inicia em , teremos iterações ( ). A cada iteração fazemos:
. . .

Passo 4

Após o while, executamos as duas últimas atribuições:
  • ;a = b / a
  • ;b = b / c

Resposta

A tabela de acompanhamento ( = valor indefinido até aquele ponto):
Instrução a b c
;b = 10/5 2
;c = b + 3 2 5
;a = b times b ( 1ª iteração) 4 2 5
;b = a ( 1ª iteração) 4 4 5
;c = c + 1 ( 1ª iteração) 4 4 6
;a = b times b ( 2ª iteração) 16 4 6
;b = a ( 2ª iteração) 16 16 6
;c = c + 1 ( 2ª iteração) 16 16 7
;a = b times b ( 3ª iteração) 256 16 7
;b = a ( 3ª iteração) 256 256 7
;c = c + 1 ( 3ª iteração) 256 256 8
;a = b / a 1 256 8
;b = b / c 1 32 8

Exercícios relacionados