صفحه 1:
بسم الله الرحمن الرحیم PROGRAMMING INLOGIC ot, نام استاد:د کتر کشاورزی

صفحه 2:
* هقدمه * مکانیزم های پایه ای در برنامه نویسی ‎Solon‏ ‏* مکانیزم عقبگرد 99 ‎((BACKTRACKING Solq52‏ * تفاوت معنای توصیفی و رویه ای یک برنامه * اشیای داده ای ساده در برنامه نویسی پرولوگ * معنای توصیفی و رویه ای یک برنامه " نمايش ليست ها " عمليات روى ليست ها " استفاده از 1لا© يا(!) 2

صفحه 3:
wwuugi aol» ob jS Prolog (programming in logic) 0١ ‏و‎ ‎aes,‏ در سا ل1970م در فرلنسه توسط ‎ww eb! AlianColmerauer‏ ‏محاسباتی ‏پرولوگ زبانی است برای حل مسایل در روابط ‎ox‏ ‏ها (اشیا) ‏ازو0۳0۱0 در برنامه های محاسباتی ریاضی استفاده نمی شود /

صفحه 4:
مکانیزم ا ۱ ۱ سی پرولوگ ۰ فراکرد های پرولوگ ‎S :Facts‏ سری واقعیت ها(حقایق) یکسرطا26] ها به صورکلو‌تر) 5 قولنین اناد ها: /

صفحه 5:
تعريف روابط به وسيله حقايق ‎0١‏ ۱ ۱ * پرولوگ یک زبان برنامه نویسی برای محاسیات نمادين وغير عددی می باینند ۳ * پرولوی برای کل سا سا اش ای روا بين انها ‎j‏ ‏می باشد بسیار مناسب است. مثال :روابط خانوادگی این حقیقت که ۲0۷ بذر 808 اسك را در برولوك به اين 5 صورت مى نويسيم: ‎PARENT(TOM,BOB)‏ ‏در اینجا ۳۵۴۴۱۷۲نام رابطه و/۲0و908ارگومان های رابطه ‎١ \ j‏ 9 می باشند.

صفحه 6:
* این برنامه از شش فراکرد تشکیل شده تعريف روابط به وسيله حقايق ‎0١‏ ۱ ۱ * هر فراکرد نی سوت و PARENT(TOM,BOB). PARENT(PAM,BOB) PARENT (Tet em oO PARENT(BOB,ANN). & ENT(BOB,PAT). 1 \ es NT(PAT,JIM). 9

صفحه 7:
West a ۳ ۳۵ PAT) . 3 ‏ا تفن‎ PAT) §- .PARENT(TOM,BEN) §- .PARENT(X,LIZ) We ۳ TOM Lie

صفحه 8:
ve =ANN; X=TOM;

صفحه 9:
تعریف روابط به وسیله حقایق ۳ ‎aes X), PARENT(X,Y).‏ 0 BOB; Y=PAT; X=BOB; Y=ANN; -SPARENT(X,ANN), PARENT(X,PAT). 7 BOB

صفحه 10:
7 جنسیت افراد می توان تعمیم داد ‎J MALE(TOM).‏ ‎MALE(BOB).‏ FEMALE(LIZ). FEMALE(PAT). FEMALE(ANN). تعریف روابط به وسیله قوانین ۳ { } برنامه روابط خانوادگی را با افزودن اطلاعانی در مورد . ‎MALE(PAM)‏ ‏5 ۱ \ ۳

صفحه 11:
* تعریف رابطه 0۴۴5۳۴۱(عکس ۳۸۲۶۴۲) ‎adlolPATERNaiile 1) OFFSPRING Luly, elas”‏ مى كنيم.مثلا ‎OFFSPRING)LIZ,TOM(‏ ‏ازیک قانون کلی استفاده می كك" ‎OFFSPRING)Y,X(:- PARENT)X,Y(.‏ تعریف روا ‎cules‏ 4 مر م

صفحه 12:
* تفاوت میان حقایق و قوانین 1 یک حقیقت چیزی است که هميشه بدون قید و شرط درست می باشد. 2. از طرف دبکر یک قانون چیر هایی راایان می کند که برای درستى انها بايد برخى از شرایط برقرار شوند. بنابراین قوانین از دو بخش تشکیل می شوند: 3. بخش شرط(8887 ‎(CONDITION‏ (CONCLUSION PART) a>uii puse «4 0 OFFSPRING)Y,X(:- PARENT)X,Y(. Lie HEAD BODY تعریف روابط به وسیله قوانین ‏ ۳ /

صفحه 13:
‎٠»‏ نکات مهم: ‏۷تعمیم برنامه های پرولوگ با افزودن فراکرد های جدید. ‏انواع فراکرد ها ‏1.حقایق:ببانکر چیز هابی که همواره و بدون شرط درست می باشند. ‏2 فواتین اتکی کی هی که ی ‎ee See gs‏ به برحی شرایظ دارد. ‏تعریف روابط به وسیله قوانین / ‎J‏ ‏۵»پرسش ها .وسیله ای که كار له وله ان می تواند أز بو: بيرسد كه جه جيزهايى درست هستند. 0 ‎Lie

صفحه 14:
تعریف روابط به وسیله قوانین ۳ ”فراكرد ها از دو قسمت تشکیل می شوند(سرآیند 9 1 ای مس ۳ 2 قوانین:دارای هر دو قسمت می باشند. د.پرسش ها افعط دارای بت هت

صفحه 15:
تعریف رابطه ‎(PREDECESSOR),soalazl‏ parent paren Predecess or parent PREDECESSOR ١ \ / parent مکانیزم عقبگرد در پرولوگ(قوانین با زگ ۱ ۱ مم j ‎parent‏ ظ

صفحه 16:
s قوانین بازگشتی تعریف رابطه550۲ع> ۲۳۵6 ۰ ‎Predecessor)x,z(:-‏ ‎Parent(x,z). —‏ دم ‎Predecessor)x,z(:-‏ ‎Parent(x,y),‏ ‎Parent(y,z).‏ ‎Predecessor)x,z(:-‏ ‎Parent(x,y1),‏ ‎Parent(y1,y2),‏ ‎Parent(y2,z).‏

صفحه 17:
نحوه پاسخگویی به پرسش ها در پرولوگا[ { در پرولوگ هر پرسش شامل یک يا چند هدف می باشد پرولوگ برای پاسخگویی به پرسش ها سعى مى كند به اين / .اهداف برسد ‎j‏ ‏رسیدن به هدف یعنی اینکه نشان دهیم هدف مورد نظر از حقایق و قوانین موجود در برنامه به طور منطقی پیروی می .کند اگر پرسشی سای نع پاش رولوگ ناید درباید که کدام .اشیا خاص(به جای متغییرها) اهدافش را برآورد میکنند ۱ 50

صفحه 18:
معنای توصیفی:درست است اكر© وادرست باشند معنای ‎a9)‏ ای:برای حل مساله ‎lol Pus‏ زیر مساله © وسپس زیر مساله؟ را حل کن. ‎.P:- Q,R‏ * معنای رویه ای چگونگی پاسخ گویی پرولوگ به پرسش ها رامشخص می کند. * بنابراین معنای رویه ای پرولوگ,یک رویه برای اجرای لیستی آن اهدای (پرسش قاارر رویط ک ‎aly‏ / ۳ ‘ 6 ‏لاا‎ ‎/ ‎j

صفحه 19:
* معنای رویه ای:تعیین میکند خروجی برنامه چگونه بدست می آید(۲0۷۷) ,از نظر اصولی معنای توصیفی برای نوشتن برنامه کافی است. فهم جنبه های توصیفی ساده تر است و نوشتن برنامه را ساده تر می کند. * معنای توصیفی:تعیین می کند خروجی برنامه چیست(۷۷۳۱۵۲) ۱ ‎j‏ ‏۰ Wie

صفحه 20:
۷ از قواعد زبان پرولوگ ‎0١‏ ۱ * برنامه های پرولوگ از ۲۴8 ها ساخته شده اند:هر ‎(CONSTANTS) cul *‏ Wi مم ‎j‏ ‎(VARIABLE) lo uti *‏ ظ ‎i‏ * ساختارها(5۲8۵6۲8۴5)

صفحه 21:
تابت ها از اشیا و روابط تشکیل شده اند و بر دو نوع اند: 1 اتم ها ‎(ATOMS)‏ (INTEGER NUMBERS) qxo olacl .2 اتم ها نیز خود دو نوع اند: 3. آنهایی که ازحروف الفبا و يا ارقام و ۱۱0۴۴۱۱۱۴ ((حروف کوچک شروع می شوند) 4 آنهایی که فقط ار علایم جاص تشکیل مي سود ۰ ۱۳ ۳ ۳ ۲ قواعد زبان پرولوگ ‎(CONSTANTS) cul‏ ‎J‏

صفحه 22:
so a ۱۹۳ ‏قواعد زبان پرولوگ‎ (VARIABLE) ly pusio” ۳ j ‏شوند و میتوانند از حروف الفیا, ارقام و خط زیر تشکیل شوند.‎ متغییرهای بی نام((۴ ۷۵8۱۸۵8۱ ۸۱۱۵۱۱۲۲۸۵۱15 که با خط زیر تنها ظ متغیر ها با حروف بزرگ الفبای انگلیسی وارقام یا خط زیرشروع می نشان داده می شوند متغیریست که مقدار آن برای ما مهم نیست. مثلا ‎LIKES(_,ALI)‏ 0

صفحه 23:
قواعد زبان پرولوگ ۳ { ۷ سومین نوغ ‎TERM‏ ساختار ها یک ساختار به عنوان یک ‎SINGIE OBJECT‏ بكار ميرود و خود ۳ ممکن است از مموعه ای ارااشا تشکیل شود ‎j‏ ‏یک مثال میتواند کارت کتابخانه باشد که شامل مجموعه ای از ‎ole Ul:‏ مریوط به کناب ات ‎OWNS(ALI,BOOK(THE_C_PRGRAMMING_LANGUAG‏ ‏8 AUTHOR(DENNIES,RITCHIE)(.

صفحه 24:
polis. ممکن است هر نوعی یعنی ثابتء فير ‎viele by‏ دنا :مثال تعریف لیست:لیست عبارت است از مجموعه ای مرتب از re (iss Y1,B,[X,Y]] pom MAN, [LIKE,TO,FISH]] Lie

صفحه 25:
۶ انواع لیست: ” ليست نهى كه ‎Dan Gates Olas [Il‏ م : در پرولوگ ليست غير تهى به دو قسمت تقسيم ميشود: ‎HEAD ۷‏ عتصر اول لیست تالا بقیه عناصر لیس که ]82615 از هم جدا میشوند ‎EX1: [A,B,C,D]=[HEAD|TAIL]‏ ‎HEAD=A __TAIL=[B,C,D]‏ \ EX2: [A] HEAD=A TAIL=[] Lie ۳

صفحه 26:
.ترتیب در عناصر در مجموعه ها مهم نیست © برخی عملیات ها روی لیست ها ۷ بررسی اینکه آیایک شی خاص در لیست وجود دارد. اتصال دو لیست #احدف عناصر موجود در لیست اضافه نمودن عناصر جديد در ليست عملیات روى ليست ها 9 ‎AL‏ ‏از ليست ها ميتوان براى نمايش مجموعه ها استفاده نمودءبا اين تفاوت كه م ‎j‏ | 2 \ ‘i, 0

صفحه 27:
‎ooly‏ سازی عمل عضویت ‎L)‏ 565 ‎MEMBER(X,[X | TAIL]).‏ ‎MEMBER(X,[HEAD | TAIL]):-‏ ‎MEMBER(X, TAIL).‏

صفحه 28:
فا صلاات ۲۱۳۳2 (3ا, 11,2 * اگراولین آرگیومنت یعنی لیست اول تهی باشد لیست دوم و سوم با هم برابرند یعنی (ابا,[])60۴6 ۶ ولی اگر اولین آرگیومنت غیر تهی باشد بنابراین یک ۲۱۴۸۵۲ و یک ۲۸۱ دارد و بشکل زیر است: [11|<] ‎L2 5 [X|L1] BLU 5‏ خواهد بود [۱3|] که در آن 3 از الحاق 1ا و ها حاصل ميیشود. (LIST CONCATENATION)& cuw JLail j 0

صفحه 29:
‘ie X,L,[X|L]). | ‏برای اضافه کردن آیتم ا به ليست‎ : ‏و برای حذف ا از ليست ا‎ DEL(X,[X|TAIL], TAIL). /* IF X IS HEAD */ DEL(X,[Y|TAIL],[Y|TAIL1]):- /* IF X IS IN THE TAIL*/ a TAIL,TAIL1). اضافه /جذف کردن بک آبتم به/از لیست 0 / ‎J‏ i

صفحه 30:
* نحوه ی کنترل اجرای برنامه توسط برنامه نویس: ۷ جابه جا کردن ترتی فراکرد ها ۲ استفاده از کر ‎GU‏ لوك ۱ ۳۳ مم !

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
10,000 تومان