Pular para o conteúdo principal

Questão de Arquitetura de Software — Software — FGV 2023

Arquitetura de SoftwareSoftware
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.
  1. A,$2
  2. BA,B,C,D,E,F,G,H,I$,A,B,C,D,E,F,G,H,I
  3. CA,B,C,D,E,F,G,H,I,$10
  4. DABCDEFGHIABCDEFGHI$
  5. 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:

  1. const str = "ABCDEFGHIJ"; – string de 10 caracteres.

  2. let xpto = str.split(""); – array ["A","B",...,"J"].

  3. xpto.pop(); – remove "J", array fica com 9 elementos.

  4. 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,$.

  5. x = xpto.push("$"); – adiciona "$" ao final do array e retorna 10.

  6. alert(x); – exibe 10.

  1. 1str.split('') → array A-J
  2. 2pop() remove 'J'
  3. 3alert(xpto) → A,B,C,D,E,F,G,H,I
  4. 4push('$') → retorna 10
  5. 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).


Gabarito: letra C.

Link permanente: /questoes/fg059091