Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pertenece(X,[X|_]).
- pertenece(X,[_|Resto]):- pertenece(X,Resto).
- concatenar([], L2, L2).
- concatenar([X|L1], L2, [X|L]):- concatenar(L1, L2, L).
- eliminaR([],[]).
- eliminaR([X|Resto],[X|L]):- not(pertenece(X,Resto)),eliminaR(Resto,L),!.
- eliminaR([X|Resto],L):- pertenece(X,Resto),eliminaR(Resto,L).
- 1)
- union1(Conj1,[],Conj1).
- union1([],Conj2,Conj2).
- union1(Conj1,Conj2,R):- concatenar(Conj1,Conj2,R1), eliminaR(R1,R).
- 2)
- interseccion(_,[],[]).
- interseccion([],_,[]).
- interseccion([X|Resto],Conj2,[X|R]):- pertenece(X,Conj2), interseccion(Resto,Conj2,R).
- interseccion([X|Resto],Conj2,R):- not(pertenece(X,Conj2)),interseccion(Resto,Conj2,R).
- 3)
- diferencia(X,[],X).
- diferencia([],_,[]).
- diferencia([X|Resto],Conj2,[X|R]):- not(pertenece(X,Conj2)), diferencia(Resto,Conj2,R).
- diferencia([X|Resto],Conj2,R):- pertenece(X,Conj2), diferencia(Resto,Conj2,R).
- *****************************************Ejercicio 5*************************************
- validarTree(nil):-!.
- validarTree([_,R,_]):- integer(R),!.
- validarTree([I,R,D]):- integer(R),validarTree(I), validarTree(D),!.
- peso(nil,_,0):-!.
- peso([_,R,_],0,R):-!.
- peso([I,_,D],X,P):- X1 is X - 1, peso(I,X1,P1), peso(D,X1,P2), P is P1 + P2.
- peso_nivel(Arbol,N,P):- validarTree(Arbol), peso(Arbol,N,P).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement