Questão nº 45
Questão de Engenharia de Software · FCC TST 2017 (nº 45)
FCC2017Analista Judiciário - Análise de SistemasEngenharia de Software
Gabarito: Aver comentário ↓
Um Analista de Sistemas criou uma fila de Ordens de Serviço no array PHP mostrado abaixo.
<?php
$fila = array();
array_push($fila, 'Instalar impressora', 'Trocar teclado', 'Reinstalar o Windows');
I
?>
Para remover o primeiro elemento da fila (array $fila), a lacuna I deve ser corretamente preenchida por
- A
array_shift($fila);(alternativa correta) - B
array_pop($fila); - C
array_unset($fila); - D
array_remove($fila); - E
array_pull($fila);
Resposta comentada
Gabarito Alternativa A
Uma fila (ou queue) em programação segue o princípio FIFO (First In, First Out), onde o primeiro elemento a entrar é o primeiro a sair. Para remover o primeiro elemento de um array PHP que simula uma fila, usa-se uma função específica que retira o elemento do início.
- (A) Correta: A função
array_shift($fila);remove o primeiro elemento do array$filae reindexa os elementos restantes, implementando perfeitamente o comportamento de "desenfileirar" (dequeue) em uma fila FIFO. - (B) Incorreta: A função
array_pop($fila);remove o último elemento do array. Esta é a função usada para "desempilhar" (pop) em uma pilha (LIFO), e não para remover o primeiro de uma fila. Esta é a armadilha da banca, poisarray_popé uma função comum, mas para o propósito errado (pilha vs. fila). - (C) Incorreta: Não existe uma função
array_unset()nativa do PHP. A funçãounset()é usada para destruir variáveis ou elementos específicos de um array por sua chave, mas não remove o primeiro elemento de forma genérica comoarray_shift. - (D) Incorreta: Não existe uma função
array_remove()nativa do PHP para remover elementos de arrays dessa forma. - (E) Incorreta: Não existe uma função
array_pull()nativa do PHP para remover elementos de arrays.
Fonte: FCC TST 2017 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.