Raciocínio Lógico Múltipla Escolha

Marque a opção que representa a seguinte lógica de programação, porém usando apenas estruturas do tipo if simples. 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.

Marque a opção que representa a seguinte lógica de programação, porém usando apenas estruturas do tipo if simples. 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.

  1. if(x>0) x++; if(x<0) x--;
  2. if(x>0) x--; if(x<0) x++;
  3. if(x>0) x++; if(x<0) x++;
  4. if(x>0) x--; if(x<0) x--;
  5. if(x>=0) x++; if(x<=0) x--;

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A - if(x>0) x++; if(x<0) x--;

Introdução à Lógica Condicional

O enunciado solicita a tradução de regras condicionais para código, utilizando exclusivamente a estrutura if simples. Isso significa que não podemos usar else ou else if, pois cada condição deve ser verificada independentemente.

As regras estabelecidas são:

  1. Se x > 0: execute incremento (x recebe x + 1).
  2. Se x < 0: execute decremento (x recebe x - 1).
  3. Se x = 0: nenhuma ação é realizada (mantém-se o valor).

Análise Detalhada

Para resolver a questão, precisamos verificar qual código atende simultaneamente às três condições acima sem conflitos.

  • Regra 1 (x > 0): O comando deve ser if(x > 0) x++;. O operador ++ incrementa a variável em 1 unidade.
  • Regra 2 (x < 0): O comando deve ser if(x < 0) x--;. O operador -- decrementa a variável em 1 unidade.
  • Regra 3 (x = 0): Como não há instrução para este caso, basta garantir que as condições anteriores sejam falsas quando x for zero.

Na Alternativa A, temos duas instruções if sequenciais:

  1. if(x>0) x++;: Se x for positivo, soma 1. Se x for zero ou negativo, ignora.
  2. if(x<0) x--;: Se x for negativo, subtrai 1. Se x for zero ou positivo, ignora.

Se x for inicialmente 0:

  • A primeira condição ($0 > 0$) é falsa.
  • A segunda condição ($0 < 0$) é falsa.
  • Resultado: x permanece inalterado. Correto.

Verificação das Outras Alternativas

AlternativaErro Cometido
BInverte a lógica: soma quando deveria subtrair e vice-versa.
CIncrementa tanto para positivos quanto para negativos.
DDecrementa tanto para positivos quanto para negativos.
EUsa \ge e \le. Se x=0, a primeira condição seria verdadeira, alterando o valor (violando a regra de manter o zero).

Conclusão

A alternativa A é a única que traduz fielmente a lógica solicitada: verifica a condição de maior separadamente da condição de menor, garantindo que o valor zero não dispare nenhuma das ações de modificação.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Raciocínio Lógico

Ver mais Raciocínio Lógico resolvidas

Tem outra questão de Raciocínio Lógico?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.