/*
 * ej-02-03.pl
 *
 */

/*
 * sumahoja(Arbol, Suma)
 *
 * nodo interno: nodo(Raiz, ArbolIzquierdo, ArbolDerecho)
 * nodo hoja:    nodo(Entero, nil, nil)
 */

sumahoja(nodo(Entero, nil, nil), Entero).

sumahoja(nodo(Raiz,nil,D), Suma) :-
	sumahoja(D, Suma).

sumahoja(nodo(Raiz,I,nil), Suma) :-
	sumahoja(I, Suma).

sumahoja(nodo(Raiz,I,D), Suma) :-
	sumahoja(I, SumaIzquierda),
	sumahoja(D, SumaDerecha),
	Suma is SumaIzquierda + SumaDerecha.


/* EOF ej-02-03.pl */
