როგორ ამოიღოთ დუბლიკატები Prolog-ში

Prolog არის დეკლარაციული პროგრამირების ენა, რომელიც ჩვეულებრივ გამოიყენება ხელოვნური ინტელექტისა და ლინგვისტიკის კვლევებში. უფრო გავრცელებული პროცედურული ენებისგან განსხვავებით, Prolog პროგრამების უმეტესობა განისაზღვრება როგორც წესებისა და განტოლებების სერია, ვიდრე ნაბიჯების სერია. შემდეგი კოდი აღწერს პროლოგის სიიდან დუბლიკატების ამოღების პროცესს.

ნაბიჯი 2

აკრიფეთ კოდი შტრიხებს შორის (თვითონ დახრილები გამოტოვეთ):

/ % remove_dups(+List, -NewList): % New List არის მიბმული სიაში, მაგრამ ამოღებულია დუბლიკატი ელემენტები. remove_dups ([], []).

remove_dups([First | Rest], NewRest) :- წევრი (First, Rest), remove_dups (დასვენება, NewRest).

remove_dups([First | Rest], [First | NewRest]) :- არა (წევრი (პირველი, დასვენება)), remove_dups (დასვენება, NewRest). /

ფუნქცია "remove_dups" განისაზღვრება, როგორც სამი წესის სერია. პირველი წესი ("remove_dups([],[].)") განსაზღვრავს, რომ თუ სია ცარიელია, არაფერი არ უნდა გაკეთდეს; ფუნქცია უბრალოდ უნდა დაბრუნდეს. მეორე წესი განსაზღვრავს, რომ თუ სიაში პირველი ელემენტი გამოჩნდება სხვაგან სადმე სიაში, მაშინ ის უნდა მოიხსნას (რადგან ეს არის დუბლიკატი) და დამუშავება უნდა გაგრძელდეს სიის დარჩენილი ნაწილის გამოყენებით remove_dups ფუნქციის ხელახლა გამოძახებით სიის პირველ ელემენტთან ერთად დატოვებული. საბოლოო წესი განსაზღვრავს, რომ თუ სიის პირველი წევრი არ იმყოფება სიაში სხვაგან, ის უნდა იყოს შენახული და დამუშავება უნდა გაგრძელდეს.

Techwalla-მ შეიძლება მიიღოს კომპენსაცია ამ ისტორიის შვილობილი ბმულების მეშვეობით.

კატეგორიები

Ბოლო

როგორ ჩართოთ PIP Time Warner HDTV დისტანციური მართვის საშუალებით

როგორ ჩართოთ PIP Time Warner HDTV დისტანციური მართვის საშუალებით

PIP შეიძლება ჩართოთ Time Warner HDTV დისტანციუ...

როგორ მოვძებნოთ Tracfone ნომერი

როგორ მოვძებნოთ Tracfone ნომერი

როგორ მოვძებნოთ Tracfone ნომერი სურათის კრედიტ...

როგორ გავუგზავნოთ MMS Tracfone-ს

როგორ გავუგზავნოთ MMS Tracfone-ს

მუსიკალური ფაილების გაგზავნა შესაძლებელია MMS ...