نمايش پست تنها
قديمي ۰۶-۱۷-۱۳۸۸, ۰۵:۲۴ بعد از ظهر   #12 (لینک دائم)
Astaraki Female
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,337 تشكر در 3,127 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Post Visual Prolog Version 5.x

Comment ها(توضیحات):
در هر زبان برنامه نویسی این قابلیت به نحوی گنجانده شده است. می توان توضیحاتی را که یک دستور نیاز دارد به آن اضافه کرد تا خوانایی برنامه بالا برود.در واقع توضیحات،اجرا نمی شود و فقط به خوانایی برنامه کمک می کند و یا زمانی که نیاز به اجرا شدن یک دستور نداشته باشیم ،از توضیحات استفاده می کنیم.
برای توضیحات چند خطی می توان از /* comments*/ استفاده نمود و برای تک استفاده از comment های تک خطی می توان از % استفاده نمود.
همانند هم خانواده های زبان C
مثال:
کد:

/* This is an example of a comment */
% This is also a comment
/***************************************/
/* and so are these three lines */
/***************************************/
/*You can also nest a Visual Prolog comment /*within a comment*/ like this */

در زبان پرولوگ می توان بعد از هر Sub Domain از توضیحات استفاده نمود.
کد:

domains
articles = book(STRING title, STRING author); horse(STRING name)

و یا حتی می توان در تعریف Predicate ها نیز بهره برد.
کد:

predicates
conv(STRING uppercase,STRING lowercase)

از کلمات title, author, name, uppercase و lowercaseدر اجرای برنامه صرفنظر می شود و فقط برای خوانایی بیشتر نوشته شده اند.

Match چیست؟
در بخشهای قبلی از Match چند بار استفاده شد.پیدا کردن یک match،شرایط Match با Fact و ... .در این بخش این مطلب را مورد بررسی قرار می دهیم.
پرولوگ از چندین راه برای Match کردن یک چیز با چیزهای دیگر استفاده می کند.
بدیهی است که چیزهای همسان با هم match می شوند.برای مثال:
کد:

parent(joe,tammy) matches parent(joe,tammy).

بهرحال یک match از یک یا چند متغیر آزاد تشکیل شده است. برای مثال:
کد:

parent(joe,X) matches parent(joe,tammy)

و متغیر X با مقدار tammy مقید خواهد شد.
نکته:
کد:

parent(joe,X) matches parent(joe,tammy) but
parent(joe,X) would not match parent(joe,millie)

در این مثال همانطور که نوشته شده است،X با tammy ،match خواهد شد ولی X با millie ، Match نخواهد شد.دلیل این است که X یک بار مقید شده است و برای بار دوم امکان مقید سازی وجود ندارد.در واقع اگر X مقید شده باشد همانند یک ثابت عمل می کند و مقدار نمی گیرد.
Astaraki آفلاين است   پاسخ با نقل قول