Questões de Prova

A Pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação. Pode-se imaginar uma pilha de tijolos, uma pilha de roupas, de pratos. Todavia, suas aplica …

A Pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação. Pode-se imaginar uma pilha de tijolos, uma pilha de roupas, de pratos. Todavia, suas aplicações computacionais variam desde as chamadas recursivas até a manipulação de dados em memória principal.

Considere o código a seguir, cujo propósito seria o de remover um elemento na posição que demarca o topo da pilha:

01 – void pilha_remover(struct str_no pilha){

02 – struct str_no atual;

03 – atual = (struct str_no*) malloc(sizeof(struct str_no));

04 – while(pilha->proximo != NULL){

05 – atual = pilha;

06 – pilha = pilha->proximo;

07 – }

08 – atual->proximo = NULL;

09 – }Com base no código-fonte apresentado, analise as afirmativas a seguir:

I. Os comandos compreendidos entre as linhas 4, 5, 6 e 7 são para percorrer a lista do início ao fim.

II. A função tenta realizar a remoção de um elemento sem a preocupação de liberar memória.

III. O funcionamento desse algoritmo permaneceria inalterado caso o comando da linha 3 fosse removido.É correto o que se afirma em:

A) II e III, apenas.

B) I, II e III.

C) I e III, apenas.

D) III, apenas.

E) II, apenas.

Resposta:

 

A resposta correta é a opção A) II e III, apenas.

Explicação:

I. Os comandos compreendidos entre as linhas 4, 5, 6 e 7 não são para percorrer a lista do início ao fim, mas sim para encontrar o último elemento da pilha, pois a remoção deve ser feita no topo da pilha. Portanto, é falsa.

II. A função tenta realizar a remoção de um elemento sem a preocupação de liberar a memória alocada dinamicamente para o elemento removido. Isso é um problema, pois pode levar a vazamentos de memória. Portato, é verdadeira.

III. O funcionamento desse algoritmo permaneceria inalterado caso o comando da linha 3 fosse removido, pois essa linha aloca memória dinamicamente para uma variável auxiliar, mas essa variável não é utilizada posteriormente no código. Portanto, é verdadeira.

Participe do Grupo no Telegram

* Link Telegram

Participe do Grupo no Whatsapp

* Link Whatsapp

Buscar Vagas de Emprego

* Buscar Vagas