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 é:
- A)6;
Errada, porque o código não imprime 6 linhas, e sim 7 valores de 4 a 10.
- B)7;
Certa, pois apenas os valores de 4 a 10 são impressos, totalizando 7 linhas.
- C)8;
Errada, porque 8 seria a contagem se também houvesse impressão de um valor extra, o que não ocorre.
- D)9;
Errada, pois x = 1, 2 e 3 não geram saída, e isso reduz a contagem total.
- E)10.
Errada, porque nem todos os números de 1 a 10 são exibidos; os três primeiros são ignorados.
Gabarito: B
Em R, o comando for percorre os valores da sequência um a um, e o bloco interno pode tomar decisões com if. Aqui, o ponto-chave é o next: quando ele aparece, a iteração atual termina na hora e o programa já pula para o próximo valor de x. Ou seja, tudo que vem depois dele naquele bloco fica de lado, sem drama. No código, para x = 1, 2 e 3, a condição x >= 4 ainda é falsa, então nada é impresso. A partir de x = 4 até x = 10, a condição fica verdadeira, o print(x) é executado e depois vem o next, encerrando a iteração imediatamente. Isso significa que os valores exibidos são 4, 5, 6, 7, 8, 9 e 10. Repare que o if (x == 8) {break} nunca entra em ação, porque quando x >= 4 o next acontece antes de chegar nele. Então o break fica só na intenção, não no resultado. Conclusão: são 7 linhas impressas, portanto o gabarito é a alternativa B. Em questões de programação, a banca costuma cobrar exatamente essa leitura sequencial do código, sem pular etapas nem imaginar que o break vai ser avaliado depois do next.