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
print
while
if
elif
else:
while
if
Passo 1
O enunciado pede para fazermos a tabela de acompanhamento (trace table) de um programa que usa atribuições, loops ,
e
.
while
, condicionais if/elif/else
e comandos print
. Vamos simular passo a passo, anotando após cada instrução os valores das variáveis
Passo 2
Primeiro, criamos o esqueleto da tabela com as colunas:
Passo Instrução
Passo
Cada linha da tabela corresponderá à execução de uma instrução ou avalição de condição (
ou
), mostrando o estado das variáveis logo em seguida.
Passo 3
Executamos as instruções iniciais fora dos laços:
- Passo
: fica , e indefinidos. - Passo
: fica , , indefinido. - Passo
: testa while (a<\(=6\))?
com, entra no laço.
Passo 4
Iteração
do while externo:
- Passo
: . - Passo
: print(b)
imprime. - Passo
: testa while (b>\(0\))?
comentra no interno. - Passo
: testa if (\(a<c\))?
é verdade. - Passo
: . - Passo
: print\text{(c)}
imprime. - Passo
: . - Sai do while interno; Passo
: .
Passo 5
Iteração
do while externo:
- Passo
: testa while (a<\(=6\))?
comentra de novo. - Passo
: . - Passo
: print(b)
imprime. - Passo
: testa while (b>\(0\))?
comentra no interno. - Passo
: testa if (\(a<c\))?
é falso. - Passo
: cai em elif (a>\(3\))?
é verdade, faz . - Passo
: print\text{(c)}
imprime. - Passo
: .
- Passo
- Continua while interno (agora
> ): - Passo
: testa while (b>\(0\))?
. - Passo
: testa if (\(a<c\))?
é verdade. - Passo
: . - Passo
: print\text{(c)}
imprime. - Passo
: .
- Passo
- Sai do while interno; Passo
: . - Passo
: testa while (a<\(=6\))?
é falso, termina.
Passo 6
Aqui está a tabela de acompanhamento completa:
Passo | Instrução |
|
|
|
---|---|---|---|---|
|
|
|
– | – |
|
|
|
– |
|
|
while
|
|
– |
|
|
|
|
|
|
|
|
|
|
|
|
while
|
|
|
|
|
if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while
|
|
|
|
|
if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while
|
|
|
|
|
if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while
|
|
|
|
Resposta
Veja acima a tabela completa com todos os passos e os valores de
,
e
após cada instrução.