Questão nº 72

Questão de Estatística · FGV MP-SC 2022 (nº 72)

FGV2022Analista de Dados e PesquisasEstatística
Gabarito: Bver comentário ↓

No contexto da linguagem de programação R, analise o código a seguir.

for (x in 1:10) {
  if (x >= 4) {
      print(x)
      next }
  if (x == 8) {break}
}

O número de linhas exibidas pela execução desse código é:

Resposta comentada

Gabarito Alternativa B

Conceito-chave: O loop for percorre os valores de 1 a 10. O comando next pula para a próxima iteração imediatamente, ignorando o resto do código dentro do loop. O break interrompe o loop para sempre, mas ele nunca é alcançado porque o next sempre pula antes de chegar nele.

  • (A) Incorreta: 6 seria o resultado se o break funcionasse no x == 8, mas o next impede que o break seja avaliado.
  • (B) Correta: O print(x) só executa quando x >= 4. Para x = 1, 2, 3 nada é impresso. Para x = 4, 5, 6, 7, 8, 9, 10 (7 valores), o print roda e o next pula o break. O loop termina naturalmente em x = 10, imprimindo 7 linhas.
  • (C) Incorreta: 8 seria o total de iterações a partir do 4, mas o loop vai até 10, não até 11.
  • (D) Incorreta: 9 seria se o break fosse ignorado e o print rodasse para todos os x >= 4, mas o next não altera a contagem de impressões (que são 7).
  • (E) Incorreta: 10 seria se imprimisse todos os valores de 1 a 10, mas o if (x >= 4) bloqueia os três primeiros.

Armadilha do distrator (A): A banca tenta fazer você acreditar que o break interrompe o loop no x == 8, imprimindo apenas 4, 5, 6, 7 (4 linhas) ou que o next não impede o break. Na verdade, o next é executado antes do if (x == 8), então o break nunca é alcançado. O loop roda até o fim (10), imprimindo 7 números.

Fonte: FGV MP-SC 2022 Analista de Dados e Pesquisas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho