Questão 2 - HCPA 2020 - ANALISTA DE TI (DESENVOLVIMENTO)
questão 2 condicional plsql
Confira abaixo a resposta da questão sobre condicional e valor da variável em PL/SQL.
Considere o código abaixo, executado em um SGDB Oracle 11G:
declare
on_hand INTEGER := null;
begin
if on_hand = 0 then
on_hand := 1;
else
on_hand := 2;
end if;
DBMS_OUTPUT.PUT_LINE(on_hand);
end;
Qual a saída esperada na saída DBMS do SGDB?
(A) 0
(B) 1
(C) 2
(D) O código não compila.
(E) Ocorre erro em tempo de execução.
O código apresentado em PL/SQL é uma declaração de um bloco anônimo que atribui um valor à variável on_hand com base em uma condição.
Primeiro vamos analisar a expressão:
A variável é declarada e recebe o valor null;
Depois é dito que se o valor da variável é zero ela recebe o valor 1;
Se não a variável recebe o valor 2;
Como a variável foi declarada com valor NULL ela não é igual a zero, por isso entra na segunda condição.
Ou seja a variável recebe o valor 2;
Vamos analisar cada alternativa:
(A) 0: A variável on_hand é inicializada como null e depois recebe o valor 1 ou 2 dependendo da condição, então a saída não seria 0 de nenhuma maneira.
(B) 1: A variável seria um se o valor declarado fosse zero no lugar de NULL.
(C) 2: Se a condição on_hand = 0 for falsa, o valor de on_hand é definido como 2, então a saída seria 2 se a condição for falsa. Que é esse caso pois a variável é declarada como NULL.
(D) O código não compila: Não há erros de sintaxe no código apresentado, então o código compila corretamente.
(E) Ocorre erro em tempo de execução: Não há operações no código que poderiam resultar em erro em tempo de execução.
Resposta correta:
Então a resposta é a letra (C) 2, de acordo com a análise e o gabarito.
Assuntos da questão:
O assunto principal da questão é o controle de fluxo em PL/SQL, especificamente o uso da estrutura condicional IF e ELSE. Para dominar esse assunto, é importante compreender como as estruturas condicionais funcionam em PL/SQL, incluindo como as variáveis são inicializadas e como os valores são atribuídos com base nas condições.
Leia mais em: onteudo.portalfaurgs.com.br/a...