Prolog è un linguaggio di programmazione dichiarativo comunemente usato nell'intelligenza artificiale e nella ricerca linguistica. A differenza dei linguaggi procedurali più comuni, la maggior parte dei programmi Prolog sono definiti come una serie di regole ed equazioni, piuttosto che come una serie di passaggi. Il codice seguente descrive il processo per rimuovere i duplicati da un elenco in Prolog.
Passo 2
Digita il codice tra le barre (tralasciando le barre stesse):
/ % remove_dups(+List, -NewList): % New List è associato a List, ma con elementi duplicati rimossi. remove_dups([], []).
remove_dups([First | Rest], NewRest) :- membro (First, Rest), remove_dups (Rest, NewRest).
remove_dups([First | Rest], [First | NewRest]) :- not (member (First, Rest)), remove_dups (Rest, NewRest). /
La funzione "remove_dups" è definita come una serie di tre regole. La prima regola ("remove_dups([],[].)") specifica che se l'elenco è vuoto, non si deve fare nulla; la funzione dovrebbe semplicemente restituire. La seconda regola specifica che se il primo elemento nell'elenco appare in un altro punto dell'elenco, allora dovrebbe essere rimosso (dato che è un duplicato) e l'elaborazione dovrebbe continuare a utilizzare il resto dell'elenco chiamando nuovamente la funzione remove_dups con il primo elemento dell'elenco lasciato fuori. La norma finale specifica che se il primo componente dell'elenco non è presente altrove nell'elenco, esso deve essere conservato e l'elaborazione deve continuare.
Techwalla può guadagnare un compenso attraverso i link di affiliazione in questa storia.