3- ÁrbolesSolución de la Autoevaluación

recor.adb
 
package body recor is
procedure preOrden(a:in arbol; l:out lista) is
-- Pre: l=l0
-- Post: l=concatena(l0,preorden(a))
baux:bosque;
begin 
 elBosque(a,baux);
 anadeDcha(l,raiz(a));
 preBosque(baux,l);
end preOrden;

procedure postOrden(a:in arbol; l:out lista) is
-- Pre: l=l0
-- Post: l=concatena(l0,postorden(a))
baux:bosque;
begin 

elBosque(a,baux);
postBosque(baux,l);
anadeDcha(l,raiz(a));
end postOrden;

procedure preBosque(b:in bosque; l:out lista) is
-- Pre: l=l0
-- Post: l=concatena(l0,preBosque(b))
aux:arbol; 
begin 

for i in 1..long(b) loop 
observa(b,i,aux); 
preOrden(aux,l);
end loop;
end preBosque;

procedure postBosque(b:in bosque; l:out lista) is
-- Pre: l=l0
-- Post: l=concatena(l0,postBosque(b))
aux: arbol;
begin 

for i in 1..long(b) loop 
observa(b,i,aux);  
postOrden(aux,l);
end loop;
end postBosque;


end recor; 



  E.Mayordomo y K. Urzelai 
elvira at posta.unizar.es
karmelo at posta.unizar.es

Fecha de actualización: 5-9-01