Questão de Programação — PHP — VUNESP 2023
- Código
- vu073308
- Banca
- VUNESP
- Órgão
- DPE-SP
- Ano
- 2023
- Nível
- Superior
- Cargo
- Agente de Defensoria - Administrador de Redes
O valor impresso da variável $n será:- A0
- B1
- C3
- D5
- E10
O valor impresso da variável $n será:GabaritoC — 3
Gabarito: letra C — a conta chega a 3 — alternativa C.
O operador de incremento adiciona 1 a uma variável de forma compacta, mas o momento em que isso acontece muda o resultado. No pós-incremento (n), a variável é incrementada primeiro e o novo valor é usado na expressão.
Em uma atribuição como $x = $n++, o valor que $x recebe é o valor antigo de $n, e depois $n é incrementado. Já em n, $n é incrementado primeiro e $x recebe o novo valor. Essa diferença é crucial para prever o resultado final da variável.
Esta questão testa exatamente essa distinção: o código usa pós-incremento dentro de uma atribuição, e a pergunta é sobre o valor final da variável $n, não sobre o valor retornado pela expressão.
código PHP com variável $n inicializada com 2
expressão de atribuição usando pós-incremento $n++
O que queremos: o valor impresso da variável $n após a execução do código
Para saber o que acontece com a variável, precisamos primeiro saber de onde ela parte. O código inicializa $n com 2, então esse é o ponto de partida.
Não confundir com o valor retornado pela expressão; aqui estamos apenas registrando o estado inicial.
O código usa $n++ dentro de uma atribuição. No pós-incremento, o valor atual de $n é usado primeiro, e só depois $n é incrementado. Isso significa que a expressão retorna 2, mas $n passa a valer 3.
Por que esta fórmula: A regra do pós-incremento: o valor antigo é usado na expressão, e o incremento acontece depois.
Achar que $n++ retorna o valor já incrementado, confundindo com pré-incremento.
A pergunta é sobre o valor impresso da variável $n, não sobre o valor retornado pela expressão. Após a execução, $n foi incrementado para 3, então é esse o valor que será impresso.
Responder 2, que é o valor retornado pela expressão, mas a pergunta é sobre o valor final da variável.
Resposta: 3 — alternativa C
Link permanente: /questoes/vu073308