PDA

View Full Version : سوال: در موردد پرولوگ(ساده)



imi
پنج شنبه 01 بهمن 1388, 14:35 عصر
سلام
من خیلی کم پرولوگ بلدم بنابراین سوال هام هم خیلی ساده هستند.
1- چطور میشه یک متغیر عمومی تعریف کرد. داخل help نرم افزار Strawberry Prolog نوشته که متغیر هایی که با _G تعریف بشن عمومی میشن.
اما من نتونستم از این مطلب استفاده کنم.

?- G_X=[3,4].
?-write(G_X).

این کد لیست رو چاپ نمی کنه و فقط اسم متغیر رو چاپ مب کنه. چرا؟

2- ایراد این کد چی هست؟ در واقع این کد در یک لیست که عناصر اون هم یک لیست هستند پیمایش میکنه و مسخص میکنه که چند تا از لیست هایی که عضو لیست اول هستند a و b و c و d دارن.

member(X,[X|_]).
member(X,[_|Y]) :- member(X,Y).


cluster([],0,0,0,0).
cluster([H|T],A,B,C,D):- cluster(T,A1,B1,C1,D1),
member(a,H), A is A1+1;
member(b,H), B is B1+1;
member(c,H), C is C1+1;
member(d,H), D is D1+1.


?-cluster([[x,a,b],[y,a,c],[z,c,d]],A,B,C,D)
,write(A),nl,write(B),nl,write(C),nl,write(D).


هر دو کد رو هم ضمیمه کردم.

imi
جمعه 02 بهمن 1388, 12:20 عصر
خواستم بگم من جواب خودم رو فهمیدم.