Pilha

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (568 palavras )
  • Download(s) : 0
  • Publicado : 9 de julho de 2012
Ler documento completo
Amostra do texto
program pilhas;
uses
crt;

const
max = 10;

type
elemento = integer;
vetor = array[1..max] of elemento;
pilha = record
topo: integer;{topo_aux: integer; }
memo: vetor;
end;

var
{declaracao das vari veis}
placa, auxiliar: elemento;
pi: pilha;
opcao, saindo: char;
vet_aux: vetor;posicao, sair, x: integer;

{Rotina com funcionalidade de zerar a pilha}
procedure inicializa(var p: pilha);
begin
p.topo := 0;
end;

{Rotina que tem porfinalidade verificar se a pilha est  vazia}
function verifica_se_vazia (var p: pilha): boolean;
begin
if (p.topo = 0) then
verifica_se_vazia := true
elseverifica_se_vazia := false;
end;

{Rotina que tem por finalidade verificar se a pilha est  cheia}
function verifica_se_cheia (var p: pilha): boolean;
begin
if (p.topo= max) then
verifica_se_cheia := true
else
verifica_se_cheia := false;
end;


{Rotina para empilhamento dos dados}
procedure empilha (var p: pilha;x: elemento);
begin
if not verifica_se_cheia(p) then
begin
p.topo := p.topo + 1; {vari vel de controle de quantidade de dados}
p.memo[p.topo] := x;{armazenamento de dados}
end;
end;


{Rotina que ir  desempilhar os dados}
function desempilha (var p: pilha): elemento;
begin
if not verifica_se_vazia(p) thenbegin
desempilha := p.memo[p.topo];
p.topo := p.topo - 1;
end;
end;


{Rotina que far  a pesquisa e desmpilhara e empilhar  os valores}
functionpesquisa(var p: pilha; pla: integer): boolean;
var
cont, w, cont1: integer;
achou: boolean;
begin
cont := 1;
repeat
if (pla = p.memo[cont]) then {verifica...
tracking img