Alternativa A - if(x>0) x++; if(x<0) x--;
A questão solicita a tradução de uma lógica condicional para código usando estruturas if simples. Vamos analisar os requisitos apresentados no enunciado passo a passo.
Análise da Lógica
O texto descreve três cenários possíveis para a variável x:
- Cenário 1: Se x for maior que 0 (x > 0), deve-se adicionar 1 a x.
- Em programação, isso é representado pelo operador de incremento
x++. - Código correspondente:
if(x > 0) x++;
- Cenário 2: Se x for menor que 0 (x < 0), deve-se subtrair 1 de x.
- Em programação, isso é representado pelo operador de decremento
x--. - Código correspondente:
if(x < 0) x--;
- Cenário 3: Se x for igual a zero (x = 0), o valor deve ser mantido.
- Isso significa que nenhuma instrução deve ser executada para este caso específico. Como não há estrutura
else, basta não incluir uma condição para x = 0.
Comparação das Alternativas
Vamos verificar qual opção combina as instruções corretas:
- Alternativa A: Apresenta
if(x>0) x++; (correto para adição) e if(x<0) x--; (correto para subtração). O caso de x=0 fica implícito como nenhum comando executado. Esta é a correta. - Alternativa B: Inverte as operações (decrementa quando deveria somar).
- Alternativa C: Executa um incremento em ambos os casos (x > 0 e x < 0).
- Alternativa D: Executa um decremento em ambos os casos.
- Alternativa E: Usa operadores de desigualdade inclusiva (\geq e \leq), o que alteraria a lógica para x=0, fazendo com que ambas as condições fossem verdadeiras simultaneamente.
Portanto, a alternativa A traduz fielmente a regra descrita no enunciado utilizando apenas estruturas if simples.