Uso swi prolog...di seguito un esempio di esercizio tipo :
1) Si definisca un predicato Prolog comprimi(L, N, C) che, prendendo in ingresso una lista L e un intero N, restituisca la
lista C ottenuta da L sostuendo ogni blocco di N elementi con la loro media.
Ad esempio ?comprimi( [ 1, 2, 3, 4, 5, 6], 2, C) restituisce C= [1.5, 3.5, 5.5]; ?comprimi( [ 1, 2, 3, 4, 5, 6], 3, C)
restituisce C= [2,5]; ?comprimi( [ 1, 2, 3, 4, 5, 6], 4, C) restituisce C= [2.5, 5.5]; ?comprimi( [ 1, 2, 3, 4, 5, 6], 5, C)
restituisce C= [3, 6]; ?comprimi( [ 1, 2, 3, 4, 5, 6], 6, C) restituisce C= [3.5];
2) Si scriva un programma Prolog che, prendendo in ingresso una lista L, la comprima rimpiazzando gli elementi contigui
uguali con la coppia elemento e numero di occorrenze. Ad esempio se L = [ a, a, b, b, b, c, a, a] va restituito [a, 2, b, 3,
c, 1, a, 2].
non riesco a capire il tipo di ragionamento che bisogna fare per risolvere l'esercizio...