View Full Version : شرط if در Strawberry Prolog
domidimod
۰۹-۱۱-۱۳۸۹, ۱۰:۱۷ بعد از ظهر
سلام دوستان
چنانچه بخواهيم دستورات بعد از شرط if جدا از شرط درنظرگرفته شده و درهرصورت اجرا شوند بايد شرط if را چگونه نوشت؟!!
alijy
۰۹-۱۲-۱۳۸۹, ۰۸:۵۸ بعد از ظهر
سلام دوستان
چنانچه بخواهيم دستورات بعد از شرط if جدا از شرط درنظرگرفته شده و درهرصورت اجرا شوند بايد شرط if را چگونه نوشت؟!!
سلام
اگر منظورتون اینه که بدون ارزیابی درستی یا نادرستی شرط دو دستور بعد <- و ; رو اجرا کنه، باید از حالت شرط خارجش کنید، یعنی حالت شرطی رو حذف کنید. اگر هم وجود شرط به دلایلی لازمه (که فکر نمی کنم) میتونید دستورات بعد از شرط رو قبل از شروع شرط کپی کنید.
امیدوارم کمکی کرده باشم.
domidimod
۰۹-۱۳-۱۳۸۹, ۰۳:۲۷ بعد از ظهر
سلام دوست عزيز
منظورم اين نبود
ببينيد يكسري از دستورات بعد از يك شرط if بايد حتما اجرا شوند؛ يعني نبايد شرط if هيچ نقشي در اجرا يا عدم اجراي اون دستورات داشته باشه، اما نمي دونم چطور ميشه شرط if رو طوري خاتمه داد كه متغيرها شناخته شده بمونن و دستورات بعد از شرط if اجرا شوند.
مثلا مي خوام يه عمل چاپ بعد از بررسي شرط if انجام بشه؛ اين عمل هيچ ربطي به شرط if كه نوشته شده نداره و بايد درهرصورت اجرا بشه؛
اگه انتهاي شرط if رو نقطه بذارم اون متغيري كه ميخوام مقدارش چاپ بشه ناشناخته و بنفش رنگ مي شه كه درست نيست! و اگه انتهاي شرط if رو كاما بذارم عمل چاپ يكي از دستورات شرط if درنظرگرفته مي شه كه اينم درست نيست!
نمي دونم متوجه منظورم شدين يا نه
از توجهتون سپاسگذارم
alijy
۰۹-۱۳-۱۳۸۹, ۰۶:۰۴ بعد از ظهر
سلام دوست عزيز
منظورم اين نبود
ببينيد يكسري از دستورات بعد از يك شرط if بايد حتما اجرا شوند؛ يعني نبايد شرط if هيچ نقشي در اجرا يا عدم اجراي اون دستورات داشته باشه، اما نمي دونم چطور ميشه شرط if رو طوري خاتمه داد كه متغيرها شناخته شده بمونن و دستورات بعد از شرط if اجرا شوند.
مثلا مي خوام يه عمل چاپ بعد از بررسي شرط if انجام بشه؛ اين عمل هيچ ربطي به شرط if كه نوشته شده نداره و بايد درهرصورت اجرا بشه؛
اگه انتهاي شرط if رو نقطه بذارم اون متغيري كه ميخوام مقدارش چاپ بشه ناشناخته و بنفش رنگ مي شه كه درست نيست! و اگه انتهاي شرط if رو كاما بذارم عمل چاپ يكي از دستورات شرط if درنظرگرفته مي شه كه اينم درست نيست!
نمي دونم متوجه منظورم شدين يا نه
از توجهتون سپاسگذارم
فقط کافیه کل شرط if رو داخل پرانتز قرار بدید و بعد از پرانتز هم از کاما استفاده کنید. به این صورت کل بخش شرطی از دستورات بعدی جدا میشه و به شکل یه دستور جدا (و داخل پرانتز) در میاد.
امیدوارم جواب سؤالتون رو داده باشم.
shokohigol
۰۴-۱۸-۱۳۹۰, ۰۵:۴۲ بعد از ظهر
سلام دوستان
چطوری می شه توی پرولوگ از رشته یک ترم ساخت:
مثلا:
str='man(X)'.
حالا از روی متغیر بالا دستور پایین ایجاد بشه
Tr=man(X).
vBulletin® v3.8.3, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.