حساب کاربری
​
زمان تقریبی مطالعه: 4 دقیقه
لینک کوتاه

ویژوال پرولوگ


ویژوال پرولوگ ،که در گذشته با اسم‌های PDC Prolog و Turbo Prolog شناخته شده‌بود،یکی از قوی‌ترین طبقه‌بندی‌های گسترش یافتهٔ پرولوگ شیءگرا است.به عنوان مثال Turbo Prolog توسط بورلند به بازار عرضه شد،اما اکنون توسط شرکت Danish،مرکز توسعهٔ پرولوگ (PCD)،توسعه یافته و به بازار عرضه شد.ویژوال پروگ می‌تواند کاربرد-واسط گرافیکی کاربر مایکروسافت ویندوز، کاربرد کنسول، DLLs(پیوندهای پویای کتابخانه‌ها)،و برناهای-CGI را بسازد.ویژوال پرولوگ همچنین می‌تواند با استفاده از ODBC به الگوی جزء تشکیل دهنده شیء و پایگاه داده‌ها پیوند برقرار کند.
زبان‌های منطقی به‌طور سنتی تفسیری هستند، ولی ویژوال پرولوگ کامپایلری است که این پیشرفت مهمی را در تبدیل سنتی خطاهای معمولیِ زمان اجرا به هشدارهای کامپایلر،فراهم کرده‌است،که یک استحکام بهتری از کاربردهای خاتمه یافته را تضمین می‌کند.
هستهٔ ویژوال پرولوگ مانند پرولوگ سنتی بندهای horn، نوع دادهٔ جبری ، تطبیق الگو و الگوریتم‌های غیر قطعی کنترل شده هستند،و بر خلاف پرولوگ سنتی،ویژوال پرولوگ همواره از نوع دادهٔ ایستا و شدید است.

ویژوال پرولوگ
تصویر IDE
تصویر IDE
توسعه‌دهنده(ها)مرکز توسعه‌ی پرولوگ
انتشار پایدار
7.5، ساخنه شد 7501
۸ دسامبر ۲۰۱۴؛ ۸ سال پیش (۲۰۱۴-۱۲-08)
سیستم‌عاملمایکروسافت ویندوز /ویندوز ویستا/ویندوز ۷/ویندوز ۸
گونهزبان برنامه‌نویسی
پروانهاختصاصی
وبگاه
www.visual-prolog.com

فهرست

  • ۱ تاریخچه‌ی انتشار بصورت مختصر
  • ۲ مثال هانوی
  • ۳ برنامه‌های کنسول
  • ۴ ویدئوهای آموزشی ویژوال پرولوگ
  • ۵ کتاب‌های مرتبط با ویژوال پرولوگ
  • ۶ جستارهای وابسته
  • ۷ منابع
  • ۸ پیوند به بیرون

تاریخچه‌ی انتشار بصورت مختصر

نسخه 7.5 شامل سرور http و مولد تجزیه کنندهٔ (1)LALR است. (همچنین نگاه کنید به ویژگی‌های جدید ویژوال پرولوگ 7.5)
نسخه 7.4 می‌تواند کد ویندوز 64بیتی را تولید کند. (همچنین نگاه کنید به ویژگی‌های جدید ویژوال پرولوگ 7.4)
نسخه 7.3 کلاس‌های ژنریک و رابط‌ها را معرفی کرد.(نگاه کنید به برنامه‌های ژنریک)،حفاظت از مانیتورها (همچنین نگاه کنید به ویژگی‌های جدید ویژوال پرولوگ 7.3)
نسخه 7.2 گزاره‌های ناشناس را معرفی کرد.(وابستگی منطقی با تابع‌های ناشناس) و فضای نام‌ها (namespaces).(همچنین نگاه کنید به ویژگی‌های جدید ویژوال پرولوگ 7.2)
نسخه 7.0 پارامترهای چندریختی را معرفی کرد.
از نسخهٔ 6.0 زبان کاملاً شیءگرا شد.

مثال هانوی

در مثال 'برج هانوی'،موتور استنتاج پرولوگ دریافت که چگونه یک پشته شامل تعدادی از دیسک‌های به تدریج کوچک‌تر را در مسیر شرح داده شده یکی یکی از قطب چپ ("left") به قطب راست ("right")جابجا کند،به این معنی که قطب میانی ("centre") به عنوان راه عبور است،طوری که هیچ دیسک بزرگ‌تری روی دیسک کوچک‌تری وجود نداشته باشد.به عنوان استدلال اولیه،استنتاج "هانوی" یک عدد صحیح برابر با تعداد دیسک‌ها اختیار می‌کند.در واقع،ویژوال پرولوگ به ویژه برای مسائل پیچیده همانند برنامه‌ریزی منابع و... مناسب است.همانطور که مثال نشان می‌دهد،ویژوال پرولوگ می‌تواند برای برنامه‌نویسی سریع در سطح کوچک استفاده شود،ولی اکثراً برای کاربردهای بزرگ قدرت صنعتی بکار گرفته می‌شود.

class hanoi 
   predicates 
       hanoi : (unsigned N). 
end class hanoi

implement hanoi 
   domains 
       pole = string.

   clauses 
       hanoi(N) :- move(N, "left", "centre", "right").

   class predicates 
       move : (unsigned N, pole A, pole B, pole C). 
   clauses 
       move(0, _, _, _) :- !. 
       move(N, A, B, C) :- 
           move(N-1, A, C, B), 
           stdio::writef("move a disc from % pole to the % pole\n", A, C), 
           move(N-1, B, A, C). 
end implement hanoi

goal 
   console::init(), 
   hanoi::hanoi(4).

برنامه‌های کنسول

برای آشنایی بیشتر با برنامهٔ کنسول به مثال آورده شده توجه کنید:
میخواهیم فاکتوریل یک عدد را حساب کنیم،دستورالعمل‌های زیر را دنبال کنید

  • یک پروژهٔ جدید ایجاد کنید . کادر project setting را با توجه به اطلاعات زیر تکمیل کنید:
General
project name:facfun
UI Strategy:console.

یک عدد در قسمت اعلان تایپ کنید و فاکتوریل آن را دریافت خواهید کرد.

implement facfun
class predicates
  fact:(integer N,integer Res)procedure(i.o).
clauses
   classinfo("facfun","1.0").

fact(N,1):-N<1,!.
fact(N,N*F):-fact(N-1,F).

run:-console::init(),
   fact(stdio::read(),F),stdio::write(F),stdio::nl.
end implement facfun
goal
  mainExe::run(facfun::run).

توجه: برای آزمایش و اجرای یک برنامهٔ کنسول از گزینه Build/Run in Window استفاده کنید نه Execute.

ویدئوهای آموزشی ویژوال پرولوگ

  • !Hello World|ویژوال پرولوگ|ویدئوی آموزشی ویژگی پایه‌ای IDE زمان خلق برنامه "!Hello World" را نشان می‌دهد.
  • نسخه‌ی نمایشی فورم|ویژوال پرولوگ|ویدئوی آموزشی چگونگی خلق یک فورم و پیوند آن به بخش‌های فهرست انتخاب را نشان می‌دهد.
  • سرعت هوش|ویژوال پرولوگ|ویدئوی آموزشی امکانات تکمیل خودکار در IDE را نشان می‌دهد.

کتاب‌های مرتبط با ویژوال پرولوگ

  • Thomas W. de Boer, راهنمای ابتدایی برای ویژوال پرولوگ
    • ترجمه چینی
  • Eduardo Costa, ویژوال پرولوگ برای تازه کارها
    • ترجمه روسی
    • ترجمه چینی
  • Giovanni Torrero, ویژوال پرولوگ برای مبتدی‌ها ایتالیایی 113 صفحه (pdf)
  • Randall Scott, کتاب راهنما برای هوش مصنوعی توسط ویژوال پرولوگ، شابک ‎۹۷۸−۱−۴۳۲۷−۴۹۳۶−۱

جستارهای وابسته

  • برنامه‌نویسی منطقی
  • Logtalk،شیءگرا
  • زبان برنامه نویسی مرکوری،نوع داده ایستا و شدید
  • برنامه‌نویسی شیءگرا
  • پرولوگ

منابع

  1. ↑ کاربرد کنسول
  2. ↑ DLLs
  3. ↑ ODBC
  4. ↑ استحکام
  5. ↑ Horn clause
  6. ↑ Algebraic data type
  7. ↑ Nondeterministic algorithm
  8. ↑ Generic programming
  9. ↑ Logtalk

مشارکت‌کنندگان ویکی‌پدیا. «Visual Prolog». در دانشنامهٔ ویکی‌پدیای انگلیسی.

پیوند به بیرون

  • صفحه‌ی خانگی ویژوال پرولوگ
    • زبان مرجع
    • آموزش
    • ویکی
    • انجمن بحث و گفتگو
  • مرکز توسعه‌ی پرولوگ
  1. ↑ en.wikipedia.org
آخرین نظرات
کلیه حقوق این تارنما متعلق به فرا دانشنامه ویکی بین است.