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
.