Matemática Múltipla Escolha

Suponha que, em um sistema de logística, um contador de pacotes é atualizado conforme o lote é processado: int estoque = 5; total = ++estoque * 2 + estoque++; Análise as afirmativas sobre o estado das variáveis após a execução:

Suponha que, em um sistema de logística, um contador de pacotes é atualizado conforme o lote é processado:

int estoque = 5;

total = ++estoque * 2 + estoque++;

Análise as afirmativas sobre o estado das variáveis após a execução:

  1. A, apenas.
  2. B, apenas.
  3. C e II, apenas.
  4. D e III, apenas.
  5. I, II e III.

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C

Análise da Questão

Esta questão aborda o funcionamento dos operadores de incremento (++) e decremento (--) nas linguagens de programação, especificamente a diferença entre as formas pré-fixada e pós-fixada.

Para resolver, precisamos simular o código linha a linha, observando quando o valor da variável muda e qual valor é utilizado nos cálculos.

Passo a Passo da Execução

Considere o código apresentado:

int estoque = 5; 
total = ++estoque * 2 + estoque++;
  1. Inicialização: A variável estoque começa com o valor 5.
  2. Operador Pré-Fixado (++estoque):
  • Neste caso, o valor da variável é incrementado antes de ser usado na expressão.
  • O estoque passa de 5 para 6.
  • O valor utilizado na conta é 6.
  1. **Multiplicação (* 2):**
  • Calculamos $6 \times 2$, resultando em 12.
  1. Operador Pós-Fixado (estoque++):
  • Aqui, o valor original é usado primeiro, e o incremento ocorre após.
  • O valor atual de estoque é 6. Este é o valor utilizado na soma.
  • Após o uso, o estoque é incrementado novamente, passando de 6 para 7.
  1. Soma Final (+):
  • Somamos o resultado da multiplicação (12) com o valor do operador pós-fixado (6).
  • Cálculo: $12 + 6 = 18$.
  • O valor de total é 18.

Estado Final:

  • total = 18
  • estoque = 7

(Nota Técnica: Em padrões modernos de C/C++, modificar a mesma variável duas vezes em uma única expressão pode gerar "comportamento indefinido". No entanto, em provas de concursos e lógica introdutória, aplica-se a regra de execução sequencial da esquerda para a direita).

Análise das Afirmações

Agora, vamos verificar cada item com base na nossa simulação:

  • I. O valor final de estoque é 7 ao término da instrução.
  • Verdadeiro. Como explicado, o estoque começou em 5, foi incrementado para 6 e depois para 7.
  • II. A expressão avaliada para total resulta no valor 18.
  • Verdadeiro. O cálculo foi (6 \times 2) + 6 = 18.
  • III. O uso de parênteses em (++estoque) alteraria a natureza do incremento de pré-fixado.
  • Falso. Os parênteses servem apenas para definir a precedência das operações (qual operação acontece primeiro), mas não mudam a semântica do operador. O símbolo ++ colocado antes da variável continua sendo um incremento pré-fixado, independentemente dos parênteses.

Conclusão

As afirmativas corretas são I e II. Portanto, a alternativa correta é a C.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

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