Escolar Documentos
Profissional Documentos
Cultura Documentos
Um determinado produto composto por diversas peas (digamos p1, p2, ...,pn). O processo de montagem deste produto automtico (executado por uma mquina) e exige que as peas sejam colocadas em uma ordem especfica (primeiro a p1, depois a p2, depois a p3 e assim por diante). As peas so empilhadas na ordem adequada e a mquina de montagem vai retirando pea por pea do topo desta pilha para poder montar o produto final.
Introduo
A mesma mquina que faz a montagem capaz de trocar uma pea quebrada de um produto j montado. O que a mquina faz desmontar o produto at chegar na pea defeituosa, troc-la e ento depois recolocar as peas que foram retiradas. Isso tambm feito com o uso da pilha de peas. Veja a seguir o algoritmo que a mquina montadora implementa para fazer a manuteno de um produto com defeito.
Introduo
1) Retirar e empilhar pea por pea do produto at chegar na pea defeituosa. 2) Retirar a pea defeituosa 3) Colocar uma pea nova sem defeitos 4) Desempilhar e montar pea por pea do topo da pilha at a pilha ficar vazia.
Introduo
A idia fundamental da pilha que todo o acesso a seus elementos feito atravs do seu topo. Assim, quando um elemento novo introduzido na pilha, passa a ser o elemento do topo, e o nico elemento que pode ser removido da pilha o do topo
Introduo
Isto faz com que os elementos da pilha sejam retirados na ordem inversa ordem em que foram introduzidos:o primeiro que sai o ltimo que entrou. A sigla LIFO last in, first out usada para descrever esta estratgia).
Introduo
Existem duas operaes bsicas que devem ser implementadas numa estrutura de pilha: Push - operao para empilhar um novo elemento, inserindo-o no topo Pop - operao para desempilhar um elemento, removendo-o do topo.
Introduo
Introduo
Introduo
Introduo
Introduo
De alguma forma uma pea precisa ser representada em nosso programa. Como estamos usando orientao a objetos as peas sero representadas por objetos. Uma classe Java ser criada somente para modelar as peas, algo similar ao cdigo a seguir:
Introduo
public class Peca { private String nome; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } }
Introduo
Com a classe Peca, j possvel criar objetos para representar as peas que a mquina montadora utiliza. Porm, o sistema deve definir como guardar estes objetos, ou seja, ele precisa escolher uma estrutura de dados. Esta estrutura de dados deve manter os dados seguindo alguma lgica e deve fornecer algumas operaes para a manipulao destes e outras operaes para informar sobre seu prprio estado.
Operaes em pilhas
Agora, vamos implementar as operaes da Pilha.