← Questões de Programação

Programação · CESPE/CEBRASPE · 2024

Questão comentada de 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.

Gabarito: E

Neste código em PHP, a funcao anonima recebe um valor e devolve esse valor elevado ao quadrado, usando o operador **. Depois, `range(3, 5)` cria o vetor [3, 4, 5]. Em seguida, `array_map($x, $y)` aplica a funcao a cada elemento do vetor, transformando 3 em 9, 4 em 16 e 5 em 25. Por fim, `implode(' ', $y)` junta os valores com espaco, formando a saida `9 16 25`. O ponto principal aqui e perceber que `array_map` nao soma nem multiplica os elementos entre si: ele apenas percorre o array e aplica a funcao em cada item. E o operador `**` faz exatamente a potencia, entao cada numero vira seu quadrado. Sem misterio, mas com pegadinha classica de prova. Assim, o resultado final exibido e a sequencia dos quadrados de 3, 4 e 5. Em provas de programacao, a banca costuma cobrar a leitura fina de funcoes de array e de callbacks, entao vale sempre observar o que a funcao retorna para cada elemento.

Continue treinando

Questões relacionadas