• Matéria: Informática
  • Autor: RCD722
  • Perguntado 8 anos atrás

Conforme Tenenbaum (2007), uma Pilha possui uma estrutura que pode ser declarada contendo dois objetos:


• um ponteiro, que irá armazenar o endereçamento inicial da Pilha;
• um valor inteiro, que irá indicar a posição do topo da Pilha.
Para utilização de uma Pilha, primeiramente é necessário:
• Criar a declaração da estrutura da Pilha;
• Criar a Pilha com a alocação dinâmica;
• Criar as funções para inserir e remover da Pilha.


A declaração da estrutura inicial para criação de uma Pilha pode ser implementada por:
struct Pilha

{
int topo;
int capacidade;
float * proxElem;
};
struct Pilha minhaPilha;



Imagine agora uma pilha vazia e que receberá alguns comandos push e pop como é demonstrado na imagem abaixo.



q11



Comandos representados na imagem: push 7, push 12, pop, pop, push 23, pop.



Com base na pilha e nos comandos apresentados, analise as afirmações abaixo:



I - ) A aplicação do código abaixo para uma pilha inicialmente vazia e depois resultado dos comandos (push 7, push 12, pop, pop, push 23, pop.) retorna 1.



int pilha_vazia (struct Pilha *p ){
if( p -> topo == -1 )
return 1; /*Sendo o topo igual a -1, a função retorna verdadeiro*/
else
return 0; /*Caso contrário, a função retorna verdadeiro*/
}

II - O retorno dos comandos do exemplo dado (push 7, push 12, pop, pop, push 23, pop) , do exemplo retorna uma pilha vazia.
III - O retorno dos comandos do exemplo dado (push 7, push 12, pop, pop, push 23, pop), é uma pilha com o elemento 23.
IV - A aplicação do código abaixo para uma pilha inicialmente vazia e depois resultado dos comandos (push 7, push 12, pop, pop, push 23, pop.) retorna 1.

int pilha_cheia ( struct Pilha *p ){

if (p -> topo == p -> capacidade - 1)
return 1;
else
return 0;
}

Agora, assinale a alternativa correta.

Escolha uma:
a.
Apenas as afirmativas I e III estão corretas.

b.
Apenas as afirmativas II, III e IV estão corretas.

c.
Apenas as afirmações I e II estão corretas. Correto

d.
Apenas as afirmações III e IV estão corretas.

e.
Apenas as afirmativas I, II e IV estão corretas.
----------------------------------------------------------------------
RESPOSTA CORRETA - C.
Apenas as afirmações I e II estão corretas. Correto

Respostas

respondido por: henjorge
3
A resposta correta é a letra C. Apenas as afirmações I e II estão corretas. Corrigido pelo AVA.
Perguntas similares