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.
while
if
print
elif
print
elif
Passo 1
O enunciado pede para montar a tabela de acompanhamento (trace table) de um programa que inicializa
e, enquanto
, calcula
b \(=\) a \(+2\)
c \(=\) b/\(2\)
se b>\(5\): imprimir \(a+b\)
elif \(b<c\): imprimir \(c+a\)
a \(=\) a-\(2\)
Devemos registrar os valores de
,
e
após cada instrução.
Passo 2
Para construir a tabela, vamos numerar as instruções principais:
L :
L : teste
L :
L :
L : teste
L :
L :
L :
L
L
while (a>\(=0\))
L
L
L
if (b>\(5\))
L
print(\(a+b\))
ouL
print(\(c+a\))
(no caso do elif
)L
Em cada linha da tabela indicamos qual instrução foi executada e registramos os valores atuais de
,
e
.
Passo 3
Primeira iteração (início com
):
Instrução |
|
|
|
---|---|---|---|
L
|
|
— | — |
L
|
|
— | — |
L
|
|
|
— |
L
|
|
|
|
L
|
|
|
|
L
print(\(a+b\))\(=10\) |
|
|
|
L
|
|
|
|
Passo 4
Segunda iteração (agora
):
Instrução |
|
|
|
---|---|---|---|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
Passo 5
Terceira iteração (agora
) e fim do laço:
Instrução |
|
|
|
---|---|---|---|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
Resposta
A tabela completa de acompanhamento do programa é:
Instrução |
|
|
|
---|---|---|---|
L
|
|
— | — |
L
|
|
— | — |
L
|
|
|
— |
L
|
|
|
|
L
|
|
|
|
L
print(\(a+b\))\(=10\) |
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|
L
|
|
|
|