Procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P);

Slides:



Advertisements
Apresentações semelhantes
RECORTE DE FIGURAS Algoritmo proposto para Recorte de Segmentos (atribuído a Ivan Sutherland e Dan Cohen) Para o entendimento do algoritmo a ser proposto,
Advertisements

Programas e Microprogramas
Programação II Estruturas de Dados
VHDL Linguagem de Descrição e Síntese de Circuitos Digitais Sistemas Digitais.
Universidade Federal do Pará Serviço Público Federal Centro de Ciências Exatas e Naturais Departamento de Informática Abril/2001.
Estrutura de Dados I Profº.: ABC Sampaio
Adaptado de material da profa. Maria Aparecida Livi
Monitores.
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
Estrutura de dados Busca
Algoritmos e Estruturas de Dados II
Algoritmo e Estrutura de Dados II
L Lista Simplesmente Encandeada 001 Jose R$ 1500,00 Prox=BB 002 Carlos R$ 640,00 Prox=CC 003 Marina R$ 900,00 Prox=DD 004 Cicera R$ 420,00 Prox AABBCCDD.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Apresentação da linguagem Python
Robson Godoi / Sandra Siebra
Robson Godoi / Sandra Siebra
O Portal do Estudante de Computação
Árvore Geradora Mínima
Paradigmas de programação
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Estruturas de Controlo em Pascal
Programação Orientada a Objetos em Delphi
O Portal do Estudante de Computação
FATORAÇÃO LU.
LISTAS DUPLAMENTE ENCADEADAS
MÉTODO JACOBI.
1 Variáveis dimensionadas Uma variável dimensionada corresponde a uma zona da memória contendo várias variáveis do mesmo tipo guardadas contiguamente.
Denise Guliato Faculdade de Computação – UFU
Estrutura de Dados Unidade 16 Simulação da função Fatorial utilizando recursão – 16.1 Prof. Dr. Roberto Ferrari Jr.
Introdução a Programação COM 100 Aula 07 Procedimentos.
Var a: tPtNo; begin { corpo principal } PercPreOrdem(a);... a Visão esquemática da memória.
Listas duplamente encadeadas Estrutura: tDado = integer; { ou real, char, etc.} tPtNo = ^tNo; tNo = record Ant: tPtNo Dado: tDado; Prox: tPtNo; end; var.
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Tipos Abstratos de Dados
1 Tipos Abstratos de Dados Pilhas e Filas TPA – 2008 –1 Prof. Mateus Costa.
TAD Pilha com Alocação Dinâmica de Memória
Heap Sort TPA – Prof. Mateus Costa
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Denise Guliato Faculdade de Computação – UFU
Augusto Sampaio e Paulo Borba Centro de Informática
Listas, Filas e Pilhas Katia Guimarães.
Aula 3 Listas, pilhas, filas.
Ambiente de Execução - Rotinas
Computação Eletrônica Subprograma. Função O que este programa faz? Program funcao; var n,x: real; begin write('Entre n: '); readln(n); x := cos(n); write(x);
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Linguagem Pascal Prof. Sérgio Rodrigues.
Aula 04 – 22/03 Listas Duplamente Encadeada – Listas Encadeada Circular – Lista Duplamente Encadeada Circular.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
“Introdução a Computação” Capítulo II Estruturas de Dados
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples
Aula 06 – 05/04 Árvores binárias.
Conversão de Tipos Exemplo: x + i, onde x é do tipo real e i é do tipo integer. A especificação da linguagem deve indicar se a linguagem suporta este tipo.
Joaquim José Hangalo  Podemos entender a memória do computador como um conjunto de células que armazenam informações.  Cada célula.
Computação Eletrônica
Professor Ulisses Vasconcelos
Prof Ulisses Vasconcelos ESTRUTURA DE DADOS AULA 02 - PILHA Conceito Inserção Remoção.
Teste Simbólico Execução do programa com dados simbólicos ao invés de dados reais Técnica de poio à seleção de dados para o teste estrutural.
Introdução à Programação
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
INE5408 Estruturas de Dados
MODULARIZAÇÃO Existem dois tipos de sub-programas –Procedures (procedimentos).Não retorna valores –Functions (funçöes). Retorna valores.
Profa. Juliana Mafra ESTRUTURA DE DADOS 30 de Setembro de 2009 Faculdade de Informática e Tecnologia de Pernambuco.
Laço ou loop e repetição
Métodos de Ordenação Externa
Computadores vs. Programas / Algoritmos Computadores vs. Programas -> Algoritmos O tratamento de problemas através do computador geralmente envolve uma.
Pilha dinâmica Prof.° Jean Daniel Henri Merlin Andreazza
Aula 13 - Triggers. Triggers no SGBD Postgres  Os Triggers (Gatilhos) são funções preparadas para serem disparadas no caso de alguma alteração ocorrer.
Transcrição da apresentação:

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a q

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG O módulo Visita(q) simplesmente executará Writeln(q^.dado); exibindo, portanto, o conteúdo do nó apontado pelo ponteiro de trabalho

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 4 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 4 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 4 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 4 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 4 ABDECFGABDECFG / / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 3 ABDECFGABDECFG / / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 2 ABDECFGABDECFG / / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 1 ABDECFGABDECFG / /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG /

procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P); if q <> nil then begin Visita(q); Empilhar(P,q^.dir); Empilhar(P,q^.esq); end; end; end; Visão esquemática da memória a topo elem P q 0 ABDECFGABDECFG / saída do laço e finalização do módulo...