Nwlapcug.com


Come0 rimuovere duplicato in Prolog

Prolog è un linguaggio di programmazione dichiarativo comunemente usato nella ricerca linguistica e intelligenza artificiale. A differenza dei più comuni linguaggi procedurali, la maggior parte dei programmi Prolog sono definita come una serie di regole ed equazioni, anziché come una serie di passaggi. Il codice riportato di seguito viene descritto il processo per rimuovere i duplicati da un elenco nel prologo.

Istruzioni

1

Aprire un editor di testo come il blocco note e salvare il file con il nome "remove_dups.pl."

2

Digitare il codice tra le barre (lasciando le barre se stessi fuori):

/

% remove_dups (+ lista, - NewList):

Isbound del nuovo elenco % alla lista, ma con gli elementi duplicati rimossi.

remove_dups ([], []).

remove_dups ([primo | Resto], NewRest):-

membri (in primo luogo, riposo),

remove_dups (resto, NewRest).

remove_dups ([primo | Resto], [primo | NewRest]):-

non (member(First, Rest)),

remove_dups (resto, NewRest).

/

La funzione di "remove_dups" è definita come una serie di tre regole. La prima regola ("remove_dups([],[].)") specifica che se l'elenco è vuoto, niente dovrebbe essere fatto; la funzione deve restituire semplicemente. La seconda regola specifica che se il primo elemento nell'elenco compare altro nell'elenco, quindi dovrebbe essere rimosso (dato che è un duplicato) e l'elaborazione deve continuare con il resto dell'elenco di chiamata alla funzione remove_dups nuovamente con il primo elemento nell'elenco lasciato fuori. La regola finale specifica che se il primo membro dell'elenco non è presente altrove nell'elenco, dovrebbe essere mantenuto e l'elaborazione deve continuare.

3

Salvare il lavoro premendo "Ctrl" e "S" insieme.