(Baseado em CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área de Tecnologia da Informação) Marque a opção que representa a seguinte lógica de programação. A expressão a seguir especifica que: 1 será adicionado a x, se x for maior que 0; 1 será subtraído de x, se x for menor que 0; o valor de x será mantido, se x for igual a zero.
Questão
(Baseado em CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área de Tecnologia da Informação) Marque a opção que representa a seguinte lógica de programação. A expressão a seguir especifica que: 1 será adicionado a x, se x for maior que 0; 1 será subtraído de x, se x for menor que 0; o valor de x será mantido, se x for igual a zero.
Alternativas
A) if(x>0) x++; else if(x<0) x--;
B) if(x>0) x--; else if(x<0) x++;
C) if(x>0) x++; else if(x<0) x++;
D) if(x>0) x--; else if(x<0) x--;
E) if(x>=0) x++; else if(x<=0) x--;
Explicação
O enunciado descreve a seguinte lógica:
- Se , deve somar 1 a (incremento): , que em C/Java/C++ pode ser escrito como
x++. - Se , deve subtrair 1 de (decremento): , que pode ser escrito como
x--. - Se , o valor deve ser mantido (nenhuma instrução deve executar).
A alternativa A faz exatamente isso:
if(x>0) x++;(incrementa quando é positivo)else if(x<0) x--;(decrementa quando é negativo)- Se , não entra em nenhum dos dois blocos, logo permanece o mesmo.
Alternativa correta: (A).