Dado o seguinte trecho de programa em C++, int x = 1; while...

Próximas questões
Com base no mesmo assunto
Q737784 Programação

Dado o seguinte trecho de programa em C++, 

int x = 1;

while ( x < 10 ) ;

- -x; 

Pode-se afirmar que o valor de x em qualquer momento da execução será: 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é: B - 1.

Essa questão aborda conceitos fundamentais da linguagem de programação C++, especificamente relacionados ao uso de loops e controle de fluxo. Vamos analisar o código apresentado:

int x = 1;

Esta linha declara uma variável x e a inicializa com o valor 1.

while ( x < 10 );

Aqui temos um laço while que verifica se x é menor que 10. Porém, observe que há um ponto e vírgula ; logo após a condição do while. Este ponto e vírgula representa um laço vazio, ou seja, o bloco de código do while não contém instruções.

Isso significa que, enquanto x for menor que 10, o programa ficará preso nesse laço vazio, sem executar qualquer outra instrução. Portanto, o código --x; jamais será alcançado, pois a condição do while é sempre verdadeira inicialmente e não há instruções em seu corpo para modificar x.

Assim, o valor de x nunca muda de 1, que é o valor inicial. Por isso, a resposta correta é a alternativa B - 1.

Vamos comentar as outras alternativas:

  • A - 0: Esta alternativa está incorreta porque x nunca é decrementado ou modificado.
  • C - 9: Também está incorreta. O valor de x não chega a 9, pois o decremento --x; nunca é executado.
  • D - 10: Não é possível, pois o loop while não permite que x se modifique para atingir 10.
  • E - 11: Errada, pelo mesmo motivo das anteriores: x permanece constante.

Essa é uma boa oportunidade para lembrar a importância de entender a semântica dos controladores de fluxo em linguagens de programação como C++. Testar o código em um compilador pode ajudar a visualizar e compreender melhor o comportamento real.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

int x = 1; A variável x do tipo inteiro é declarada e inicializada com valor 1

while ( x < 10 )...; Programa entra no while e não tem argumentos (pontilhado vermelho)looping eterno com o x =1)

- -x; Programa nunca executa essa intrução.

Gabarito B

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo