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.
if
while
else:
while
while
else:
while
Passo 1
Temos um programa imperativo com três variáveis (
,
e
), contendo atribuições, um teste ,
e
logo após a execução de cada instrução, incluindo as avaliações de condição.
if
e dois loops while
(um no “then” e outro no “else”). Nosso objetivo é montar uma tabela de acompanhamento (trace table) mostrando os valores de
Passo 2
Antes de qualquer instrução, todas as variáveis estão indefinidas. A cada linha do programa (seja atribuição ou teste de condição), atualizamos apenas as variáveis afetadas, deixando as demais inalteradas. Quando uma variável ainda não recebeu valor, registramos como “undef”.
Passo 3
Executamos o programa passo a passo e registramos:
Resposta
A tabela acima mostra o valor de
,
e
após cada instrução executada.