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:
if
while
else:
Passo 1
O enunciado apresenta um pequeno programa imperativo que atribui valores às variáveis
,
e
, faz um teste condicional e um laço de repetição, e pede para montar a tabela de acompanhamento exibindo o valor de cada variável após cada instrução. O conteúdo aqui é execução passo a passo (trace) de um programa, mostrando como a cada atribuição ou verificação de condição as variáveis mudam (ou não).
Passo 2
Definimos uma tabela com quatro colunas: a coluna “Instrução” descreve qual linha do programa foi executada, e as colunas “
”, “
”, “
” mostram os valores atuais dessas variáveis logo após a execução daquela instrução.
Resposta
| Passo | Instrução |
|
|
|
|---|---|---|---|---|
| 1 |
|
4 | – | – |
| 2 |
|
4 | 64 | – |
| 3 |
|
4 | 64 | 16 |
| 4 | if (c > a) (teste) |
4 | 64 | 16 |
| 5 | while (b / a > 1) (1ª vez, teste) |
4 | 64 | 16 |
| 6 |
|
4 | 64 | 12 |
| 7 |
|
4 | 32 | 12 |
| 8 | while (b / a > 1) (2ª vez, teste) |
4 | 32 | 12 |
| 9 |
|
4 | 32 | 8 |
| 10 |
|
4 | 16 | 8 |
| 11 | while (b / a > 1) (3ª vez, teste) |
4 | 16 | 8 |
| 12 |
|
4 | 16 | 4 |
| 13 |
|
4 | 8 | 4 |
| 14 | while (b / a > 1) (4ª vez, teste) |
4 | 8 | 4 |
| 15 |
|
4 | 8 | 0 |
| 16 |
|
4 | 4 | 0 |
| 17 | while (b / a > 1) (5ª vez, teste falha) |
4 | 4 | 0 |
Após a quinta verificação,não é maior que , então o laço termina e não entra no else.