Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024

ProgramaçãoLinguagens de programação
Código
ce190865
Banca
CESPE / CEBRASPE
Órgão
TST
Ano
2024
Nível
Médio
Cargo
Técnico Judiciário - Área: Apoio Especializado - Especialidade: Programação
<?php$ x = function($ a) {return $ a ** 2;};$ y = range(3, 5);$ y = array_map($ x, $ y);print implode(' ', $ y);?>Com base no código precedente, desenvolvido em PHP, assinale a opção que corresponde ao resultado a ser apresentado ao final da execução desse código.
  1. A4
  2. B8
  3. C3 4 5
  4. D6 8 10
  5. E9 16 25
Revelar gabarito e comentário

GabaritoE — 9 16 25

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”.

PHP – array_map com função anônima

Gabarito: letra E. O código cria uma função anônima ($x) que retorna o quadrado do argumento ($a ** 2). Em seguida, gera um array com os números 3, 4 e 5 usando range(3,5). A função array_map($x, $y) aplica a função anônima a cada elemento do array, resultando em [9, 16, 25]. Por fim, implode(' ', $y) junta esses valores com espaço, produzindo a string "9 16 25".

PEGA ESSA DICA!

Em PHP, o operador ** realiza exponenciação (a partir do PHP 5.6). range(3,5) gera um array incluindo os extremos 3 e 5. array_map aplica uma função (callback) a cada elemento, retornando um novo array. A função anônima (closure) é definida com function($a) { ... };.

  1. 1Função anônima $x = quadrado
  2. 2range(3,5) → [3,4,5]
  3. 3array_map($x, $y) → [9,16,25]
  4. 4implode(' ') → '9 16 25'
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A saída 4 seria o resultado de elevar apenas o número 2 ao quadrado, mas o código trabalha com os números 3, 4 e 5.

Alternativa B — ❌ Incorreta

8 não corresponde a nenhuma operação do código. Poderia ser confundido com , mas o código não realiza tal cálculo.

Alternativa C — ❌ Incorreta

3 4 5 é o array original, sem a aplicação da função de quadrado. A alternativa ignora o array_map.

Alternativa D — ❌ Incorreta

6 8 10 seria o resultado de multiplicar cada elemento por 2, e não de elevá-lo ao quadrado. Confunde o operador ** com multiplicação (*).

Alternativa E — ✅ Correta ⟵ GABARITO

Exatamente o resultado esperado: 9 (3²), 16 (4²) e 25 (5²), unidos por espaço.

Gabarito: letra E

Link permanente: /questoes/ce190865