Описание слайда:
Бағдарламаның дұрыстығын тексеру үшін мына сұранысты орындаймыз: ?– gо(Р). Р = [m(4,4),m(4,3),m(4,2),m(4,1),m(3,1),m(2,1),m(1,1)] ?; Р = [m(4,4),m(4,3),m(4,2),m(3,2),m(3,1),m(2,1),m(1,1)] ?; Р = [m(4,4),m(4,3),m(3,3),m(3,2),m(3,1),m(2,1),m(1,1)] ? yes Бұл мысалда бағдарлама екі рет дәлелденді бірінші рет сәтті дәлелденгеннен кейін. Бұл қалай жұмыс істейді: move предикатына екі параметр қосылған. Бірінші қосылған параметр бос тізіммен қабылданады да, әрбір орындалған қадамды жинақтап отырады, екінші қосылған параметр – бананға жеткеннен кейін нәтижені рекурсивті түрде қайтарып отырады. Функтор m(X, Y) біз келген нүктенің координаттарын сақтайды. Жолдың кері тәртіппен берілетініне назар аударыңыз. Дұрыс тәртіппен қалай алуға болады?