Questão 23 · Informática: Programação e algoritmos
Analise o trecho de código C# mostrado a seguir. bool x = true; int m = -1; for (int a = 1; x; a++) { m++; if (m % 10 == 0) { x = false; } } O número de execuções do trecho de repetição do comando for é:
- A) 0
- B) 1
- C) 9
- D) 10
- E) 11
Marque a alternativa correta:
Gabarito: B
Gabarito definitivo divulgado pela banca FGV (DPE/RO 2015).
Comentário
Gabarito: B.
O laço começa com m = -1. Na primeira passagem, m++ faz m valer 0. Como 0 % 10 == 0, x recebe false. Na sequência, a condição do laço é x, que agora é falsa, e o laço termina. Portanto, o laço é executado apenas uma vez, alternativa B.
Por que as outras estão erradas:
- (A) 0 execuções não ocorre: o laço começa com x verdadeiro, então a primeira passagem acontece.
- (C), (D) e (E) pressupõem que o laço gira várias vezes até m chegar a 10, o que aconteceria se m começasse em 0. Com m = -1, a primeira passagem já leva m a 0 e encerra o laço.
Dica de prova: em questões de laço, verifique o valor inicial da variável antes de assumir que a contagem começa do zero. Na dúvida, rastreie a primeira passagem.
Fundamentos: laços for e variável de controle · condição de parada com variável booleana · operador módulo e valores negativos
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova FGV DPE/RO 2015 (Analista Programador), questão 23, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.