Informática, perguntado por Loreto1600, 6 meses atrás

Na ciência da computação, a estrutura de dados do tipo pilha insere e remove os dados no seu topo. Essa estrutura é conhecida como Last In, First Out (LIFO), que pode ser traduzido por Último a Entrar, Primeiro a Sair.

Com relação à linguagem de programação e as estruturas de dados em C, considere a implementação da pilha abaixo.

#define tam 10

struct pilha{
int dados[tam];
int primeiro;
int ultimo;
};

pilha p;

void pop(){
p.dados[p.ultimo-1] = 0;
p.ultimo--;
}



OLIVEIRA, Pietro Martins de; PEREIRA, Rogério de Leon. Estrutura de Dados I. Maringá-Pr.: Unicesumar, 2019.

Neste caso, pop() funciona para desempilhar, removendo o elemento do fim do vetor de dados.

Em um ambiente de produção, o usuário desse sistema acionou a função pop, porém a estrutura de dados estava vazia. Nessa situação específica, descreva o comportamento da pilha mediante a execução da função pop.


Loreto1600: preciso de ajuda

Soluções para a tarefa

Respondido por jaquersantana
3

Resposta:

A lista iria dar um erro de esvaziamento de pilha e o programa ia parar de funcionar.

Explicação:

Temos a estrutura de dados do tipo pilha(p)

Temos vários números e o tamanho[tam) é 10

Então, temos 1,2,3,4,5,6,7,8,9,10

Temos o int primeiro=10 e o int ultimo=1

A função desempilhadora é pop()

Desse modo, no exemplo ficaria assim:

1-1=0

p.ultimo-- esse -- é igual a remover o ultimo numero(1) da pilha

Se fosse tudo 0

0,0,0,0,0,0,0,0,0,0,0; ou vazio, pois não foram inseridos vários 0 na pilha, o funcionário apenas ligou o programa

p.ultimo-- não iria acontecer pois

0-1=-1 que é ≠ 0

Então, a lista iria dar um erro de esvaziamento de pilha e o programa ia parar de funcionar.

Espero ter ajudado, bons estudos!


brunarcascone: Voc~E~eê^
brunarcascone: Vc sabe me dizer se quando a pilha esvazia é possível acrescentar push depois ou ele já vai encerrar instantaneamente ?
Perguntas interessantes