Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Considere o seguinte código PL/SQL:DECLAREv_num NUMBER := 10;BEGINLOOPDBMS_OUTPUT.PUT LINE(v_num);v_num :=v_num - 1;EXIT WHEN v_num < 5:END LOOP;END;/Sua execução imprimirá
Alinhas numeradas de 1 a 6.
B5 linhas numeradas de 5 a 9.
C5 linhas numeradas de 1 a 5.
D6 linhas numeradas de 10 a 5.
E10 linhas numeradas de 0 a 9.
Revelar gabarito e comentário▾
GabaritoD — 6 linhas numeradas de 10 a 5.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
PL/SQL: Estrutura LOOP com EXIT WHEN
Gabarito: letra D. O código imprime os números de 10 a 5 em ordem decrescente, totalizando 6 linhas. A cada iteração o valor atual de v_num é impresso, depois é decrementado em 1, e em seguida a condição EXIT WHEN v_num < 5 é avaliada. O loop termina quando v_num se torna 4, mas o valor 5 já foi impresso.
O código PL/SQL declarado inicia v_num com 10. Dentro do laço, a sequência é:
Imprime o valor atual.
Subtrai 1.
Verifica condição de saída (v_num < 5).
Assim, a execução passo a passo:
Iteração
Imprime
Após decremento
v_num < 5?
1ª
10
9
Não
2ª
9
8
Não
3ª
8
7
Não
4ª
7
6
Não
5ª
6
5
Não
6ª
5
4
Sim → sai
Portanto, são impressos: 10, 9, 8, 7, 6, 5 — seis números, de 10 a 5.
1Imprime v_num
2Decrementa 1
3Testa EXIT WHEN v_num < 5
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que as linhas são numeradas de 1 a 6. Na verdade, os números impressos são os valores decrescentes de 10 a 5, e não números ordinais.
Alternativa B — ❌ Incorreta
Diz que serão 5 linhas de 5 a 9. Ocorre o oposto: começamos em 10 e terminamos em 5, totalizando 6 linhas.
Alternativa C — ❌ Incorreta
Propõe 5 linhas de 1 a 5. O intervalo correto é de 10 a 5, e são 6 linhas.
Alternativa D — ✅ Correta ⟵ GABARITO
Exatamente como calculado: 6 linhas numeradas de 10 a 5, em ordem decrescente.
Alternativa E — ❌ Incorreta
Diz que serão 10 linhas de 0 a 9. O loop não começa em 10 nem imprime 0; termina ao atingir v_num < 5, ou seja, depois de imprimir 5.