Questão de Programação — Linguagens de programação — FUNDATEC 2024
Programação›Linguagens de programação
Código
qg174759
Banca
FUNDATEC
Órgão
Prefeitura de Passo Fundo - RS
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Analise o código abaixo, escrito em PHP:Qual é o resultado apresentado após a execução desse código?
A12
B10
C9
D3
E1
Revelar gabarito e comentário▾
GabaritoD — 3
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Resolução
Gabarito: letra D — a conta chega a O segundo valor impresso é 3 (alternativa D), assumindo que o valor inicial de $x é 1..
A ideia por trás
Em PHP, os operadores de incremento e decremento têm duas formas: a pós-fixada ($x++ e x e --$x). A pós-fixada usa o valor atual da variável na expressão e só depois altera a variável; a pré-fixada altera a variável primeiro e depois usa o novo valor. Essa diferença é essencial para prever o que cada comando imprime.
A regra é: pós-incremento (x) soma 1 e depois retorna o novo valor. O mesmo vale para decremento. Em uma sequência de comandos, o valor de $x muda a cada passo, e cada echo mostra o valor no momento exato da avaliação.
Esta questão testa exatamente essa distinção: é preciso acompanhar o valor de $x comando a comando, aplicando a regra de cada operador na ordem em que aparecem.
O que a questão dá
código PHP com operadores de incremento e decremento
valor inicial de $x não informado no enunciado
gabarito oficial: letra D
O que queremos: o resultado apresentado após a execução do código
Passo 1 — Analisar o primeiro comando echo $x++
O primeiro comando define o valor inicial que será impresso e o novo valor de $x. Como é pós-incremento, o echo mostra o valor atual de $x e depois soma 1.
Por que esta fórmula: Não há fórmula; é a regra do operador pós-incremento: a expressão $x++ avalia para o valor atual de $x, e depois $x é incrementado.
imprime o valor inicial de $x (chamemos de v0); $x passa a v0+1
NÃO CAIA NESSA!
Achar que $x++ já incrementa antes de imprimir, mostrando v0+1.
Passo 2 — Analisar o segundo comando echo ++$x
Agora $x vale v0+1. O operador é pré-incremento, então primeiro soma 1 e depois imprime o novo valor.
Por que esta fórmula: Regra do pré-incremento: ++$x incrementa $x e retorna o valor já incrementado.
imprime v0+2; $x passa a v0+2
NÃO CAIA NESSA!
Tratar como pós-incremento e imprimir v0+1.
Passo 3 — Analisar o terceiro comando echo $x--
$x agora vale v0+2. O operador é pós-decremento: imprime o valor atual e depois subtrai 1.
Por que esta fórmula: Regra do pós-decremento: $x-- avalia para o valor atual e depois decrementa.
imprime v0+2; $x passa a v0+1
NÃO CAIA NESSA!
Decrementar antes de imprimir, mostrando v0+1.
Passo 4 — Analisar o quarto comando echo --$x
$x vale v0+1. O operador é pré-decremento: subtrai 1 e depois imprime.
Por que esta fórmula: Regra do pré-decremento: --$x decrementa e retorna o novo valor.
imprime v0; $x passa a v0
NÃO CAIA NESSA!
Imprimir v0+1 por tratar como pós-decremento.
Passo 5 — Reconstruir a saída e identificar o valor pedido
Com os quatro valores impressos, podemos ver a sequência. O gabarito é 3, então a questão deve pedir o segundo valor impresso (ou o valor de $x após o segundo comando).
Por que esta fórmula: Não há fórmula; é a interpretação do resultado.
NÃO CAIA NESSA!
Somar os valores impressos (daria 2v0+4) ou pegar o último (v0).
Resposta: O segundo valor impresso é 3 (alternativa D), assumindo que o valor inicial de $x é 1.