Como Remover Duplicados no Prolog

click fraud protection

Prolog é uma linguagem de programação declarativa comumente usada em pesquisa de inteligência artificial e linguística. Ao contrário das linguagens procedurais mais comuns, a maioria dos programas Prolog são definidos como uma série de regras e equações, ao invés de uma série de etapas. O código a seguir descreve o processo para remover duplicatas de uma lista no Prolog.

Passo 2

Digite o código entre as barras (deixando as próprias barras de fora):

/% remove_dups (+ List, -NewList):% New List isbound to List, mas com itens duplicados removidos. remove_dups ([], []).

remove_dups ([First | Rest], NewRest): - membro (First, Rest), remove_dups (Rest, NewRest).

remove_dups ([First | Rest], [First | NewRest]): - não (membro (First, Rest)), remove_dups (Rest, NewRest). /

A função "remove_dups" é definida como uma série de três regras. A primeira regra ("remove_dups ([], [].)") Especifica que se a lista estiver vazia, nada deve ser feito; a função deve simplesmente retornar. A segunda regra especifica que se o primeiro item da lista aparecer em qualquer outro lugar da lista, ele deve ser removido (uma vez que é um duplicar) e o processamento deve continuar usando o resto da lista, chamando a função remove_dups novamente com o primeiro item da lista deixado de fora. A regra final especifica que se o primeiro membro da lista não estiver presente em nenhum outro lugar da lista, ele deve ser mantido e o processamento deve continuar.

A Techwalla pode receber remuneração por meio de links afiliados nesta história.