Informática Múltipla Escolha

Quantos hashes o snippet a seguir enviará para o console?

Quantos hashes o snippet a seguir enviará para o console?

var = 1
while var < 10:
    print("#")
    var = var << 1
  1. oito
  2. quatro
  3. dois
  4. um

Resolução completa

Explicação passo a passo

Resumo da resposta

Alternativa "quatro"

Esta questão testa o conhecimento sobre estruturas de repetição (loops) e operadores de deslocamento de bits (bitwise shift) na linguagem Python.

Para resolver, precisamos simular a execução do código linha por linha até que a condição do laço seja falsa.

Análise do Código

O código apresenta um laço while que continua enquanto a variável var for menor que $10$. Dentro do laço, ocorre a impressão de um hash (#) e uma atualização no valor de var.

Comportamento do Operador <<:
O operador << realiza um deslocamento bit a bit para a esquerda. Matematicamente, deslocar um número inteiro n para a esquerda por k posições equivale a multiplicar esse número por $2^k$.
x \ll k \approx x \times 2^k
No caso do código, temos var = var << 1, o que significa duplicar o valor de var a cada iteração (var \times 2).

Tabela de Execução (Trace)

Vamos acompanhar o valor de var a cada passo:

IteraçãoValor Inicial de varCondição (var < 10)Ação (print)Novo Valor (var * 2)
$1$$1 < 10$ (Verdadeiro)Imprime #$1 \times 2 = 2$
$2$$2 < 10$ (Verdadeiro)Imprime #$2 \times 2 = 4$
$4$$4 < 10$ (Verdadeiro)Imprime #$4 \times 2 = 8$
$8$$8 < 10$ (Verdadeiro)Imprime #$8 \times 2 = 16$
Fim$16$$16 < 10$ (Falso)Loop encerra-

Conclusão

O laço executou-se 4 vezes, imprimindo o caractere # em cada rodada. Na quinta verificação, o valor de var tornou-se $16$, o que não satisfaz a condição de ser menor que $10$, interrompendo a execução.

Portanto, o total de hashes enviados para o console é quatro.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Informática

Ver mais Informática resolvidas

Tem outra questão de Informática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.