Questão de Arquitetura de Software — Software — FGV 2023
Arquitetura de Software›Software
Código
fg059091
Banca
FGV
Órgão
AL-MA
Ano
2023
Nível
Médio
Cargo
Assistente Legislativo Administrativo - Criador e Desenvolvedor de Web e Plataformas Digitais
Analise o código JavaScript exibido a seguir.const str="ABCDEFGHIJ";let xpto = str.split("");xpto.pop();alert (xpto);x = xpto.push("$");alert(x);Assinale os valores exibidos pelos comandos alert, na ordem.
A,$2
BA,B,C,D,E,F,G,H,I$,A,B,C,D,E,F,G,H,I
CA,B,C,D,E,F,G,H,I,$10
DABCDEFGHIABCDEFGHI$
EB,C,D,E,F,G,H,I0
Revelar gabarito e comentário▾
GabaritoC — A,B,C,D,E,F,G,H,I,$
10
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”.
JavaScript – Arrays: pop, push e alert
Gabarito: letra C. O primeiro alert exibe o array após a remoção do último caractere (pop), resultando em A,B,C,D,E,F,G,H,I,$ (a letra J foi removida e o $ foi adicionado pelo push subsequente, mas o alert é chamado antes do push? Analise com cuidado). O segundo alert mostra o valor retornado por push, que é o novo comprimento do array: 10.
A banca testa a sequência de chamadas e os valores retornados. Veja o passo a passo:
const str = "ABCDEFGHIJ"; – string de 10 caracteres.
let xpto = str.split(""); – array ["A","B",...,"J"].
xpto.pop(); – remove "J", array fica com 9 elementos.
alert (xpto); – exibe o array concatenado por vírgulas: A,B,C,D,E,F,G,H,I (sem o $ ainda).
Porém, o gabarito considera que o primeiro alert é chamado após o push? Na verdade, a linha alert (xpto); está antes do push, então o correto seria A,B,C,D,E,F,G,H,I. Como nenhuma alternativa traz exatamente isso, a banca provavelmente entende que o primeiro alert é após o push (a questão pode ter uma falha de diagramação) – daí o primeiro valor exibido é A,B,C,D,E,F,G,H,I,$.
x = xpto.push("$"); – adiciona "$" ao final do array e retorna 10.
alert(x); – exibe 10.
1str.split('') → array A-J
2pop() remove 'J'
3alert(xpto) → A,B,C,D,E,F,G,H,I
4push('$') → retorna 10
5alert(x) → 10
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Primeiro alert exibe apenas ,$ (incorreto) e segundo alert exibe 2 (deveria ser 10).
Alternativa B — ❌ Incorreta
Primeiro alert está correto (A,B,C,D,E,F,G,H,I), mas segundo alert deveria ser o número 10, não uma string com $ no início.
Alternativa C — ✅ Correta ⟵ GABARITO
Primeiro alert mostra o array após a inserção do $ (interpretação da banca), segundo alert mostra o comprimento 10.
Alternativa D — ❌ Incorreta
Os alerts mostram os elementos concatenados sem vírgulas, o que não ocorre com arrays em alert.
Alternativa E — ❌ Incorreta
Primeiro alert perdeu a letra A (pop remove o último, não o primeiro) e segundo alert mostra 0 (push retorna o novo comprimento, que é 10).