Computação Múltipla Escolha

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.

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++; else if(x<0) x--;
  2. if(x>0) x--; else if(x<0) x++;
  3. if(x>0) x++; else if(x<0) x++;
  4. if(x>0) x--; else if(x<0) x--;
  5. if(x>=0) x++; else if(x<=0) x--;

Resolução completa

Explicação passo a passo

A
Alternativa A

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

Esta questão exige a tradução de uma regra de negócio descritiva para a sintaxe de programação estruturada (comandos condicionais if/else). Vamos analisar passo a passo a lógica apresentada no enunciado.

Análise da Lógica

O enunciado descreve três cenários possíveis para a variável $x$:

  1. Cenário Positivo: Se $x$ for maior que 0 ($x > 0$), deve-se adicionar 1 a ele.
  • Em programação, adicionar 1 a uma variável é feito pelo operador de incremento: x++.
  1. Cenário Negativo: Se $x$ for menor que 0 ($x < 0$), deve-se subtrair 1 dele.
  • Em programação, subtrair 1 de uma variável é feito pelo operador de decremento: x--.
  1. Cenário Neutro: Se $x$ for igual a 0, o valor deve ser mantido (sem alterações).
  • Isso significa que nenhuma instrução deve ser executada para este caso específico dentro da estrutura condicional.

Comparação com as Opções

Vamos verificar qual código reflete exatamente essa lógica:

Regra do EnunciadoSímbolo MatemáticoCódigo Correto
Adicionar 1 se $x > 0$$x = x + 1$if (x > 0) x++;
Subtrair 1 se $x < 0$$x = x - 1$else if (x < 0) x--;
Manter se $x = 0$(Nenhuma ação necessária)

A estrutura if ... else if ... funciona como uma cadeia de verificação:

  • Primeiro, verifica se x > 0. Se sim, executa x++ e ignora o resto.
  • Se não for maior que 0, verifica se x < 0. Se sim, executa x--.
  • Se nenhuma das duas condições for verdadeira (ou seja, se x == 0), nenhuma ação ocorre, mantendo o valor original.

Por que as outras alternativas estão incorretas?

  • B: Inverte as operações (x-- para positivo e x++ para negativo).
  • C: Mantém a adição mesmo para valores negativos (x++ no segundo bloco).
  • D: Realiza subtração em ambos os casos (x-- em ambos os blocos).
  • E: Usa comparações $\geq$ e $\leq$. Se $x=0$, a primeira condição seria verdadeira e executaria x++, alterando o valor quando o enunciado pedia para mantê-lo.

Portanto, a única opção que traduz corretamente "adicionar se positivo", "subtrair se negativo" e "nada fazer se zero" é a Alternativa A.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

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