1. fotoaparati
  2. Car Audio & Electronics
  3. Home Audio
  4. Osobni Audio
  5. TV
  6. Pametna kuća
  >> Hrvatska Electronic Technology >  >> Pametna kuća >> Pametan život

Kako ukloniti duplikate u Prologu

Prolog je deklarativni programski jezik koji se često koristi u istraživanju umjetne inteligencije i lingvistike. Za razliku od uobičajenih proceduralnih jezika, većina Prolog programa definirana je kao niz pravila i jednadžbi, a ne kao niz koraka. Sljedeći kôd opisuje postupak uklanjanja duplikata s popisa u Prologu.

1. korak

Otvorite uređivač teksta, kao što je Notepad, i spremite datoteku pod nazivom "remove_dups.pl."

2. korak

Upišite kod između kosih crta (izostavljajući same kose crte):

/ % remove_dups(+List, -NewList):% Novi popis povezan je s popisom, ali s uklonjenim dupliciranim stavkama. ukloni_dups([], []).

remove_dups([Prvi | Ostatak], NewRest) :- član(Prvi, Ostatak), remove_dups(Ostatak, NewRest).

remove_dups([Prvi | Ostatak], [Prvi | NoviOstatak]) :- not(član(Prvi, Ostatak)), remove_dups(Ostatak, NoviOstatak). /

Funkcija "remove_dups" definirana je kao niz od tri pravila. Prvo pravilo ("remove_dups([],[].)") specificira da ako je popis prazan, ne treba ništa učiniti; funkcija bi se trebala jednostavno vratiti. Drugo pravilo navodi da ako se prva stavka na popisu pojavi bilo gdje drugdje na popisu, tada je treba ukloniti (budući da je duplikat), a obrada treba nastaviti korištenjem ostatka popisa ponovnim pozivanjem funkcije remove_dups s prvom stavkom na popisu izostavljeni. Završno pravilo navodi da ako prvi član popisa nije prisutan nigdje drugdje na popisu, treba ga zadržati i nastaviti s obradom.

3. korak

Spremite svoj rad pritiskom na "Ctrl" i "S" zajedno.

Savjet

Dok jezici kao što su C i Java obično rješavaju probleme korištenjem iterativnih petlji, deklarativni i funkcionalni jezici poput Prologa obično rješavaju probleme rekurzivno ili opetovanim pozivanjem iste funkcije na sve manjem i manjem skupu ukupnih podataka. Neke je probleme mnogo lakše riješiti rekurzijom, iako to može biti teško naučiti programerima koji su navikli koristiti samo iterativne petlje za rješavanje problema.


  1. Kako uklanjanje duplikata iz Palm Treo 700wx
  2. Kako ukloniti kanal s DVR Favorite
  3. Kako Uklanjanje duplikata iz iPhone
  4. Kako ukloniti iPod duplikata
  5. Kako Uklanjanje duplikata iz iPhone