Ao adicionar um número inteiro a uma classe implementada com...

Próximas questões
Com base no mesmo assunto
Q19660 Programação
Quanto a conceitos de tipos de dados em linguagem Java, julgue
os itens a seguir.
Ao adicionar um número inteiro a uma classe implementada como um array (pushing), ele é armazenado no primeiro elemento disponível vazio. Ao remover um número inteiro (popping), como em uma estrutura de pilha, remove-se o primeiro número inteiro do agregado heterogêneo array.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: E - Errado

Para compreender o porquê da alternativa ser errada, é importante entender como as estruturas de dados pilha (stack) e fila (queue) operam em programação, particularmente em Java.

Uma pilha é uma estrutura de dados do tipo LIFO (Last In, First Out), ou seja, o último elemento a ser inserido é o primeiro a ser removido. Quando adicionamos um item a uma pilha (pushing), ele é colocado no topo da pilha, e ao remover (popping), retiramos o elemento que está no topo. Portanto, o item removido não é necessariamente o primeiro número inteiro do array, mas sim o último que foi adicionado.

Em contraste, uma fila opera sob o princípio FIFO (First In, First Out), onde o primeiro elemento a ser inserido é o primeiro a ser removido. No entanto, o enunciado não menciona filas, e sim a remoção de elementos como se fosse de uma pilha.

A confusão no enunciado está na afirmação de que ao adicionar um elemento a uma classe implementada como um array, ele é armazenado no primeiro elemento disponível vazio. Isso dependerá da implementação da estrutura de dados. Se fosse uma pilha, como dito anteriormente, o elemento seria armazenado no topo. Se a classe fosse implementada para se comportar como uma fila, aí sim o elemento seria adicionado na primeira posição disponível.

Assim, a alternativa está errada porque a descrição combina incorretamente operações de pilha com o armazenamento sequencial típico de outras estruturas, como vetores ou filas, mas não pilhas.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Errada.

"(...)remove-se o ÚLTIMO número inteiro do agregado heterogêneo array."

 

Acredito que o erro esteja aqui: "ele é armazenado no primeiro elemento disponível vazio".

Se eu tenho o seguinte array:

frutas[0] = "Banana";

frutas[1] = "Maçã";

frutas[3] = "Laranja";

E eu quero adicionar mais uma fruta, sem especificar posição:

frutas[] = "Uva";

Ele vai ser colocado em frutas[4], e não em frutas[2].

Alguém discorda?

Em um array, caso não se especifique a posição, o número é armazenado na primeira posição vazia após o último elemento.

Confesso que não entendi a parte de "agregado heterogêneo array". Alguém poderia explicar?

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo