تالار گفتمان مانشت

نسخه‌ی کامل: تست هوش فناوری اطلاعات سال ۸۵ (قانون‌ در پرولوگ)
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
دوستان ممنون میشم یکی سوالمو جواب بده:
سوال فناوری اطلاعات ۸۵:
قطعه برنامه زیر به زبان پرولوگ چه میکند؟
Test(X,Y)
Test(X,X):-!fail

جوابش اینه که همیشfail برمیگردونه.اما من فکر میکنم تنها اگه ورودی هاش یکی بشه،fail برمیگردونه!
اگر فرض کنیم اون کاما که بین علامت "!" و عبارت "fail" در کتاب پوران نوشته اشتباه باشه (چون اگر اشتباه نباشه کاما لیترال‌ها رو از هم جدا می کنه.بعد ینی علامت "! "یک لیترال است!؟)

اون موقع اینطور خونده میشه: اگر fail نشد آنگاه x تست میکنه X رو.
پس یعنی اگر ورودی‌ها یکی نباشه fail میشه. و اگر ورودی‌ها یکسان باشد Fail نمیشه.
پس یعنی گزینه 3 .

ولی تو پوران گفته گزینه 2:همیشه fail برمیگرداند

نمیدونم چطوری 2 میشه!؟
(15 دى 1390 08:04 ب.ظ)fe_atash نوشته شده توسط: [ -> ]اگر فرض کنیم اون کاما که بین علامت "!" و عبارت "fail" در کتاب پوران نوشته اشتباه باشه (چون اگر اشتباه نباشه کاما لیترال‌ها رو از هم جدا می کنه.بعد ینی علامت "! "یک لیترال است!؟)

اون موقع اینطور خونده میشه: اگر fail نشد آنگاه x تست میکنه X رو.
پس یعنی اگر ورودی‌ها یکی نباشه fail میشه. و اگر ورودی‌ها یکسان باشد Fail نمیشه.
پس یعنی گزینه ۳ .

ولی تو پوران گفته گزینه ۲:همیشه fail برمیگرداند

نمیدونم چطوری ۲ میشه!؟
درسته به نظرمنم 2میشه.کسی هست توضیح بده دوستان؟؟؟؟؟Huh
لینک مرجع