Kaip pašalinti „Prolog“ dublikatus

click fraud protection

Prolog yra deklaratyvi programavimo kalba, dažniausiai naudojama dirbtinio intelekto ir lingvistikos tyrimuose. Skirtingai nuo įprastų procedūrinių kalbų, dauguma Prolog programų apibrėžiamos kaip taisyklių ir lygčių serija, o ne kaip veiksmų seka. Šis kodas aprašo dublikatų pašalinimo iš Prolog sąrašo procesą.

2 žingsnis

Įveskite kodą tarp pasvirųjų brūkšnių (nepalikdami brūkšnių):

/ % remove_dups(+Sąrašas, -Naujas sąrašas): % Naujas sąrašas susietas su sąrašu, bet pašalinami pasikartojantys elementai. pašalinti_dups([], []).

remove_dups([Pirmas | Poilsis], Naujasis poilsis) :- narys (Pirmas, Poilsis), Remove_dups (Poilsis, Naujas poilsis).

remove_dups([First | Rest], [First | NewRest]) :- not (narys (First, Rest)), remove_dups (Rest, New Rest). /

Funkcija "remove_dups" apibrėžiama kaip trijų taisyklių seka. Pirmoji taisyklė („remove_dups([],[].)“) nurodo, kad jei sąrašas tuščias, nieko nereikėtų daryti; funkcija turėtų tiesiog grįžti. Antroji taisyklė nurodo, kad jei pirmasis sąrašo elementas atsiranda bet kurioje sąrašo vietoje, jis turi būti pašalintas (nes tai yra dublikatas) ir apdorojimas turėtų būti tęsiamas naudojant likusią sąrašo dalį, dar kartą iškviečiant funkciją remove_dups su pirmuoju sąrašo elementu likučiai. Paskutinė taisyklė nurodo, kad jei pirmojo sąrašo nario nėra kitoje sąrašo vietoje, jis turi būti paliktas ir tvarkymas turėtų būti tęsiamas.

„Techwalla“ gali uždirbti kompensaciją per šioje istorijoje esančias filialo nuorodas.