Pular para o conteúdo principal

Questão de Programação — PHP — VUNESP 2024

ProgramaçãoPHP
Código
vu086443
Banca
VUNESP
Órgão
SAAE de Aparecida - SP
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação
O código apresentado a seguir foi escrito na linguagem PHP 8.Imagem associada para resolução da questãoO conteúdo impresso pelas duas chamadas da função echo será:
  1. A0
  2. B00
  3. C01
  4. D10
  5. E11
Revelar gabarito e comentário

GabaritoE — 11

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 E — a conta chega a 112 — alternativa E.

A ideia por trás

No PHP, o operador ponto (.) é o operador de concatenação de strings: ele junta dois valores como texto, um após o outro. Já o operador mais (+) é o operador de adição numérica: ele soma os valores como números. Como o PHP é de tipagem dinâmica e fraca, ele converte automaticamente os valores entre string e número conforme o operador usado.

Quando usamos o ponto, o PHP converte cada operando para string e os concatena: 1 . 1 vira '11'. Quando usamos o mais, o PHP converte os operandos para números e soma: 1 + 1 vira 2. A diferença é essencial: o ponto não soma, ele cola os textos.

Esta questão testa exatamente essa distinção: a primeira chamada usa o ponto (concatenação) e a segunda usa o mais (adição). O candidato que confunde os operadores erra a questão.

O que a questão dá

  • variáveis $a e $b com valor 1

  • primeira chamada: echo $a . $b

  • segunda chamada: echo $a + $b

O que queremos: o conteúdo impresso pelas duas chamadas de echo

Passo 1 — Concatenar as variáveis com o ponto

A primeira chamada de echo usa o operador ponto, que é o operador de concatenação de strings no PHP. Ele junta os valores como texto, um após o outro, sem somar.

Por que esta fórmula: Não há fórmula; é a definição do operador ponto: ele converte os operandos para string e os une. Como $a e $b são 1, o resultado é a string '11'.

11\boxed{'11'}
NÃO CAIA NESSA!

Pensar que o ponto é o operador de adição e somar 1 + 1 = 2, mas o ponto não soma.

Passo 2 — Somar as variáveis com o mais

A segunda chamada de echo usa o operador mais, que é o operador de adição numérica. Ele converte os operandos para números e os soma.

Por que esta fórmula: Não há fórmula; é a definição do operador mais: ele soma os valores numéricos. Como $a e $b são 1, o resultado é o inteiro 2.

2\boxed{2}
NÃO CAIA NESSA!

Confundir o mais com o ponto e concatenar, resultando em '11' em vez de 2.

Passo 3 — Juntar as duas saídas na ordem

As duas chamadas de echo são executadas em sequência, então a saída final é a concatenação das duas saídas: primeiro '11' (da concatenação) e depois 2 (da soma).

Por que esta fórmula: Não há fórmula; é a ordem de execução do código.

112\boxed{112}
NÃO CAIA NESSA!

Esquecer que a segunda chamada também imprime algo e responder apenas '11'.

Resposta: 112 — alternativa E

Link permanente: /questoes/vu086443