Prolog هي لغة برمجة تعريفية شائعة الاستخدام في أبحاث الذكاء الاصطناعي واللغويات. على عكس اللغات الإجرائية الأكثر شيوعًا ، يتم تعريف معظم برامج Prolog على أنها سلسلة من القواعد والمعادلات ، وليس كسلسلة من الخطوات. تصف التعليمة البرمجية التالية عملية إزالة التكرارات من قائمة في Prolog.
الخطوة 2
اكتب الكود بين الشرطات المائلة (مع ترك الشرط المائل خارجًا):
/٪ remove_dups (+ List، -NewList):٪ قائمة جديدة مرتبطة بالقائمة ، لكن مع إزالة العناصر المكررة. remove_dups ([] ، []).
remove_dups ([First | Rest] ، NewRest): - عضو (أول ، بقية) ، remove_dups (بقية ، NewRest).
remove_dups ([First | Rest] ، [First | NewRest]): - ليس (عضوًا (First ، Rest)) ، remove_dups (Rest ، NewRest). /
تُعرَّف وظيفة "remove_dups" على أنها سلسلة من ثلاث قواعد. تحدد القاعدة الأولى ("remove_dups ([]، [].)") أنه إذا كانت القائمة فارغة ، فلا ينبغي فعل أي شيء ؛ يجب أن تعود الدالة ببساطة. تحدد القاعدة الثانية أنه إذا ظهر العنصر الأول في القائمة في أي مكان آخر في القائمة ، فيجب إزالته (نظرًا لأنه مكررة) والمعالجة يجب أن تستمر في استخدام بقية القائمة عن طريق استدعاء وظيفة remove_dups مرة أخرى مع العنصر الأول في القائمة متروك مهمل. تحدد القاعدة النهائية أنه إذا لم يكن العضو الأول في القائمة موجودًا في أي مكان آخر في القائمة ، فيجب الاحتفاظ به ويجب أن تستمر المعالجة.
قد تكسب Techwalla تعويضًا من خلال الروابط التابعة في هذه القصة.