cosa.pl



% PROGRAMAS VARIOS
%_________________________________
mitad([ H | _ ], 0, H).
mitad([ _ | R ], N, Mitad):-
	N1 is N -1,
	mitad(R, N1, Mitad).

obten_medio([ ], -1).
obten_medio(Lista, Medio):-
	cuenta(Lista, 0, Total),
	Mitad is Total // 2,
	mitad(Lista, Mitad, Medio).

cuenta([ ] , R, R).
cuenta([ _ | R ], Cont, Total):-
	Contnew is Cont + 1,
	cuenta(R, Contnew, Total).

ultimo([ ], -1).
ultimo([ H | Resto ], Resp):-
	vacio(Resto, H, Resp).
ultimo([ _ | Resto ], Resp):-
	ultimo(Resto, Resp).
vacio([ ], H,H).