Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FCC 2016

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
fc028189
Banca
FCC
Órgão
AL-MS
Ano
2016
Nível
Médio
Cargo
Técnico de Informática
Considere:a = [10, 20, 30, 40, 50, 60]a.shifta.push 30while a.length > 1 doa.popendputs aNo programa acima,
  1. Ao método pop removerá o último elemento do array.
  2. Bao final da execução serão exibidos os valores 10, 20 e 30.
  3. Cestá sendo utilizada a linguagem Groovy.
  4. Do método push removerá o valor 30 do array.
  5. Eo método shift removerá o maior valor contido no array.
Revelar gabarito e comentário

GabaritoA — o método pop removerá o último elemento do array.

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

Métodos de array em Ruby (shift, push, pop)

Gabarito: letra A. O método pop remove o último elemento do array, conforme demonstrado na execução passo a passo do código. A alternativa A descreve corretamente o comportamento desse método.

Vamos simular a execução do código Ruby:

a = [10, 20, 30, 40, 50, 60]
  • Inicialmente, a contém seis elementos.

a.shift
  • Remove o primeiro elemento (10). a agora é [20, 30, 40, 50, 60].

a.push 30
  • Adiciona 30 ao final. a agora é [20, 30, 40, 50, 60, 30].

while a.length > 1 do
  a.pop
end
  • Enquanto o tamanho de a for maior que 1, remove o último elemento. O loop executa:

    1. Remove 30 → [20, 30, 40, 50, 60]

    2. Remove 60 → [20, 30, 40, 50]

    3. Remove 50 → [20, 30, 40]

    4. Remove 40 → [20, 30]

    5. Remove 30 → [20]

  • Agora a.length == 1, o loop termina.

puts a
  • Exibe o array: 20.

  1. 1a = [10,20,30,40,50,60]
  2. 2a.shift → remove 10
  3. 3a.push 30 → adiciona ao final
  4. 4while length > 1: a.pop
  5. 5Resultado: [20]
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

"o método pop removerá o último elemento do array." Exato: pop sempre remove o último elemento e o retorna. Neste código, ele foi usado repetidamente até sobrar apenas um elemento.

Alternativa B — ❌ Incorreta

"ao final da execução serão exibidos os valores 10, 20 e 30." Incorreto: ao final, o array contém apenas o valor 20, conforme simulação. Os valores 10, 20 e 30 não aparecem juntos.

Alternativa C — ❌ Incorreta

"está sendo utilizada a linguagem Groovy." Incorreto: a sintaxe (shift, push, pop, while...end, puts) é da linguagem Ruby, não Groovy. Embora ambas sejam dinâmicas, os métodos e estrutura são típicos de Ruby.

Alternativa D — ❌ Incorreta

"o método push removerá o valor 30 do array." Incorreto: push adiciona um elemento ao final do array, não remove. Neste código, push 30 adiciona o valor 30 ao final.

Alternativa E — ❌ Incorreta

"o método shift removerá o maior valor contido no array." Incorreto: shift remove o primeiro elemento do array (índice 0), não o maior valor. No exemplo, removeu o 10, que não é o maior (o maior era 60).

Link permanente: /questoes/fc028189