Questão nº 35

Questão de Tecnologia da Informação · FCC TRT-20 2016 (nº 35)

FCC2016Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Aver comentário ↓

Considere o trecho de código em PL/SQL abaixo.
`1 BEGIN`
`2 DBMS_OUTPUT.put_line (ROUND (10.25));`
`3 DBMS_OUTPUT.put_line (ROUND (10.25, 1));`
`4 DBMS_OUTPUT.put_line (ROUND (10.23, 1));`
`5 DBMS_OUTPUT.put_line (ROUND (10.25, 2));`
`6 DBMS_OUTPUT.put_line (ROUND (10.25, -2));`
`7 DBMS_OUTPUT.put_line (ROUND (125, -2));`
`8 END;`
`9 /`
Considerando que os números à esquerda de 1 a 9 apenas indicam as linhas e que o código foi executado no banco de dados Oracle 12c, em condições ideais, o resultado apresentado após a execução do comando da linha

Resposta comentada

Gabarito Alternativa A

A função ROUND em PL/SQL arredonda um número para um número específico de casas decimais. Se o segundo argumento (número de casas) for positivo, arredonda para aquela quantidade de casas após a vírgula; se for negativo, arredonda para a dezena, centena, milhar mais próxima, etc., antes da vírgula. A regra padrão é "arredondar para cima" (round half up) quando o dígito a ser arredondado é 5.

(A) Correta:

  • ROUND(10.25, 1) na linha 3: O dígito 5 na segunda casa decimal faz com que o 2 seja arredondado para cima, resultando em 10.3.
  • ROUND(10.23, 1) na linha 4: O dígito 3 na segunda casa decimal faz com que o 2 seja mantido, resultando em 10.2.

(B) Incorreta: ROUND(10.25) na linha 2 arredonda para o inteiro mais próximo. Como 0.25 é menor que 0.5, o número é arredondado para baixo, resultando em 10, não 10.3.

(C) Incorreta: ROUND(10.25, 1) na linha 3 arredonda para 10.3, pois o 5 na segunda casa decimal arredonda o 2 para cima.

(D) Incorreta:

  • A primeira parte (ROUND(10.25, 2) na linha 5 é 10.25) está correta, pois o número já tem duas casas decimais.
  • A segunda parte (ROUND(10.25, -2) na linha 6 é 11) está incorreta. O argumento -2 significa arredondar para a centena mais próxima (múltiplo de 102=10010^2 = 100). 10.25 está muito mais próximo de 0 do que de 100. Portanto, o resultado é 0. A armadilha aqui é não compreender que um valor negativo no segundo argumento arredonda para as casas antes da vírgula, para o múltiplo de 10n10^{|n|} mais próximo.

(E) Incorreta: ROUND(125, -2) na linha 7 arredonda para a centena mais próxima. 125 está exatamente no meio entre 100 e 200. Pela regra "round half up", ele é arredondado para 200, não 1.25.

Fonte: FCC TRT-20 2016 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (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