Prolog on deklaratiivinen ohjelmointikieli, jota käytetään yleisesti tekoäly- ja kielitutkimuksessa. Toisin kuin yleisimmät proseduurikielet, useimmat Prolog-ohjelmat määritellään sarjaksi sääntöjä ja yhtälöitä eikä sarjana vaiheita. Seuraava koodi kuvaa prosessin kaksoiskappaleiden poistamiseksi Prologin luettelosta.
Vaihe 2
Kirjoita koodi kauttaviivojen väliin (jätä itse vinoviivat pois):
/ % remove_dups(+List, -NewList): % Uusi lista on sidottu luetteloon, mutta päällekkäiset kohteet on poistettu. poista_dups([], []).
remove_dups([First | Rest], NewRest) :- jäsen (First, Rest), remove_dups (Rest, NewRest).
remove_dups([First | Rest], [First | NewRest]) :- ei (jäsen (First, Rest)), remove_dups (Rest, NewRest). /
"remove_dups"-funktio on määritelty kolmen säännön sarjaksi. Ensimmäinen sääntö ("remove_dups([],[].)") määrittää, että jos luettelo on tyhjä, mitään ei tehdä. funktion pitäisi yksinkertaisesti palata. Toinen sääntö määrittää, että jos luettelon ensimmäinen kohde esiintyy jossain muualla luettelossa, se tulee poistaa (koska se on kaksoiskappale) ja käsittelyä tulisi jatkaa käyttämällä loput luettelosta kutsumalla Remove_dups-funktio uudelleen luettelon ensimmäisellä kohteella. jätetty pois. Lopullinen sääntö määrää, että jos luettelon ensimmäinen jäsen ei ole muualla luettelossa, se on säilytettävä ja käsittelyä jatkettava.
Techwalla voi ansaita korvauksia tässä tarinassa olevien tytäryhtiölinkkien kautta.