Prolog'da Yinelenenler Nasıl Kaldırılır

Prolog, yapay zeka ve dilbilim araştırmalarında yaygın olarak kullanılan bildirimsel bir programlama dilidir. Daha yaygın prosedürel dillerin aksine, çoğu Prolog programı bir dizi adımdan ziyade bir dizi kural ve denklem olarak tanımlanır. Aşağıdaki kod, Prolog'daki bir listeden kopyaları kaldırma işlemini açıklar.

Adım 2

Kodu eğik çizgilerin arasına yazın (eğik çizgileri dışarıda bırakarak):

/ % remove_dups(+List, -NewList): % Yeni Liste Listeye bağlıdır, ancak yinelenen öğeler kaldırılmıştır. remove_dups([], []).

remove_dups([First | Rest], NewRest) :- üye (First, Rest), remove_dups (Dinlenme, NewRest).

remove_dups([First | Rest], [First | NewRest]) :- değil (üye (First, Rest)), remove_dups (Dinlenme, NewRest). /

"remove_dups" işlevi, bir dizi üç kural olarak tanımlanır. İlk kural ("remove_dups([],[].)"), liste boşsa hiçbir şey yapılmaması gerektiğini belirtir; fonksiyon basitçe geri dönmelidir. İkinci kural, listedeki ilk öğe listede başka bir yerde görünüyorsa, kaldırılması gerektiğini belirtir (çünkü bu bir yineleme) ve işleme, listedeki ilk öğeyle remove_dups işlevini yeniden çağırarak listenin geri kalanını kullanmaya devam etmelidir. hariç tutulmuş. Nihai kural, listenin ilk üyesi listenin başka bir yerinde bulunmuyorsa, tutulması ve işlemenin devam etmesi gerektiğini belirtir.

Techwalla, bu hikayedeki bağlı kuruluş bağlantıları aracılığıyla tazminat kazanabilir.