Questão nº 78
Questão de Tecnologia da Informação · FGV TCE-SP 2023 (nº 78)
FGV2023Auxiliar Técnico da Fiscalização - TITecnologia da Informação
Gabarito: Dver comentário ↓
Jorge é consultor em uma empresa de desenvolvimento e está analisando o código a seguir, na linguagem JavaScript, encontrado em uma das páginas do site.
const va = [1,2,5,7,12,14,19,20];
const vb = [], vc = [];
for(let a of va)
if(a%2==0)
vb.push(a);
else
vc.push(a);
console.log(vb.reduce((a,b)=>a+b));
console.log(vc.reduce((a,b)=>a+b));
Jorge abriu a página e viu impressos no console de depuração, respectivamente, os valores:
- A1 e 20;
- B1 e 79;
- C15 e 65;
- D48 e 32; (alternativa correta)
- E80 e 0.
Resposta comentada
Gabarito Alternativa D
Arrays em JavaScript podem ser manipulados para separar elementos com base em uma condição, como números pares e ímpares, e depois somar os valores de cada grupo usando a função de alta ordem reduce, que agrega todos os elementos a um único resultado.
- (A) Incorreta: Estes são apenas elementos individuais do array original, não as somas dos grupos filtrados.
- (B) Incorreta: Os valores não correspondem às somas corretas dos números pares e ímpares.
- (C) Incorreta: Os valores não correspondem às somas corretas dos números pares e ímpares.
- (D) Correta: O código primeiro filtra os números pares de
vaparavb([2, 12, 14, 20]) e os ímpares paravc([1, 5, 7, 19]). Em seguida,vb.reduce((a,b)=>a+b)calcula a soma dos pares (2+12+14+20 = 48), evc.reduce((a,b)=>a+b)calcula a soma dos ímpares (1+5+7+19 = 32). - (E) Incorreta: A soma de todos os elementos de
vaé 80, mas o código filtra os números em pares e ímpares antes de somar. A armadilha aqui é somar o array originalvainteiro (1+2+5+7+12+14+19+20 = 80) e ignorar a lógica de separação emvbevc. O0para a segunda soma está claramente errado.
Fonte: FGV TCE-SP 2023 Auxiliar Técnico da Fiscalização - TI (Caderno Tipo 1). Reproduzida para fins de estudo.