Considere o seguinte código em Python abaixo. Qual será o valor impresso na linha 9? Justifique.
  1. valor =8
  2. x=1
  3. while valor < 10:
  4. x=x * valor
  5. valor = valor - 3
  6. if valor < 2:
  7. break
  8. print(x)

Passo 1

Beleza, vamos resolver esse exercício juntos! A gente tem um código em Python e precisa descobrir qual número ele vai imprimir na linha 9. Para isso, vamos usar conceitos de estruturas de repetição (como o while) e controle de fluxo (usando o break). Vamos analisar passo a passo o que o código faz para chegar à resposta final.

Passo 2

Primeiro, vamos dar uma olhada no valor inicial das variáveis:
  • valor = 8: Isso significa que começamos com o número 8.
  • x = 1: Aqui, x começa com 1.

Passo 3

O próximo passo é entender o laço while. A condição while valor < 10: diz que enquanto o valor for menor que 10, o código dentro do laço vai rodar. No nosso caso, como valor começa com 8, que é menor que 10, vamos entrar no laço.

Passo 4

Dentro do laço, temos x = x * valor. Isso significa que a gente vai multiplicar o valor atual de x pelo valor atual de valor e armazenar o resultado de volta em x. Então, na primeira vez que isso acontece:
x = 1 times 8 = 8
Agora, x vale 8.

Passo 5

Depois, o código faz valor = valor - 3. Então, vamos subtrair 3 do valor atual:
valor = 8 - 3 = 5
Agora, valor vale 5.

Passo 6

Tem também a condição if valor < 2: break. Isso significa que se valor for menor que 2, o laço para de rodar. No nosso caso, valor é 5, que não é menor que 2, então continuamos no laço.

Passo 7

Vamos de novo para o início do while com o novo valor de valor = 5. A condição 5 < 10 ainda é verdadeira, então rodamos o laço outra vez:
x = 8 times 5 = 40
valor = 5 - 3 = 2
Agora, x vale 40 e valor vale 2.

Passo 8

Chegamos de novo na condição if valor < 2: break. Agora, valor é 2. Como 2 não é menor que 2, o laço continua.

Passo 9

Voltamos ao while com valor = 2. A condição 2 < 10 ainda é verdadeira:
x = 40 times 2 = 80
valor = 2 - 3 = -1
Agora, x vale 80 e valor vale -1.

Passo 10

Dessa vez, a condição if valor < 2: break é verdadeira porque -1 < 2. Então, o laço para.

Resposta

O valor impresso na linha 9 será 80.

Exercícios relacionados