Program Exibe_Arvore_Binaria_Ordenada; {Prova GA Q2:ABO} {$I ABO.PAS } Procedure ArvBin_Exibe (ABO: Ptr_ArvBin_Nodo; Nivel:Integer); Begin If ABO <> NIL Then Begin Write (ABO^.dado:2,' - '); Write ('Nivel:',nivel:2,' - '); Write ('Pai: '); if ABO^.Pai <> NIL then begin write(ABO^.pai^.dado:2,' - '); if ABO = ABO^.pai^.ArvEsq then writeln('Esq') else writeln('Dir'); end else writeln('NIL - NIL'); ArvBin_Exibe(ABO^.ArvEsq,Nivel+1); ArvBin_Exibe(ABO^.ArvDir,Nivel+1); End; End; Var Raiz:Ptr_ArvBin_Nodo; Begin ArvBin_Inicializa(Raiz); ArvBin_Insere_Ordenado(Raiz,10); ArvBin_Insere_Ordenado(Raiz,7); ArvBin_Insere_Ordenado(Raiz,20); ArvBin_Insere_Ordenado(Raiz,15); ArvBin_Insere_Ordenado(Raiz,23); Writeln('Arvore em modo Infixado:'); ArvBin_Exibe_Infixado(Raiz); writeln; Writeln('Arvore em modo Prefixado:'); ArvBin_Exibe_Prefixado(Raiz); writeln; Writeln('Arvore em modo Posfixado:'); ArvBin_Exibe_Posfixado(Raiz); writeln; Writeln('Arvore em modo ESPECIAL de EXIBICAO:'); ArvBin_Exibe(Raiz,0); write('>> Pressione ENTER para terminar...'); readln; End.