[[Template core/front/global/updateWarning is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]
سنقدم في هذه الدوره ان شاء الله دروس لتعلم البرمجه بلغة البرولوغ ( PROLOG )
نبدأعلى بركة الله ..
الدرس الأول
النسخه التي اعتمدها في تطبيق هذه الدوره هي version 4.000 of WIN-PROLOG
ولتنصيب هذه النسخه ( وكذالك الامر لباقي النسخ ) من خلال النقر على SETUP.EXE
ومن ثم تشغيل واجهة البرنامج ( المترجم ) ..
ثم بعد تشغيل المترجم يبدأ بقراءة ملفات البرامج و وقبول الاستفسارت والاسئله الخاصه بالبرنامج او الاستعلامات التي نريدها .
وللخروج من المترجم فقط قم بكتابة halt ويتبعها طبعا "."
halt.
طبعا ملفات البرولوغ دائما تكون بامتداد pl. او pro.
مقدمه :-
لغة البرولوغ تسمى لغة تعريفيه واجرائيه ( تعريفيه بمعنى انها تعرف وتحدد ما يجب ان تكون عليه المخرجات واجرائيه بمعنى انها تعرف كيف يتم الحصول على المخرجات )
مكونات لغة البرولوغ :-
1:- declaring :- بعض الحقائق عن المواضيع(العوامل ) والعلاقات بينها .
2:- defining :- تعريف القواعد والشروط بين المواضيع والعلاقات بينها .
3:- asking :- اسئله عن هذه المواضيع وعن العلاقات بينها
.
مكونات الجمل كما اشرنا لها سابقا :-
1:- Fact :- الحقائق والمعارف .
2:- Rules :- العلاقات والقواعد بينها وتشبه عمل ال Function في لغات البرمجه الاخرى مثل الجافا والسي ++ وتحتوي على If/then .
3:- Queries :- الاسئله والاستعلامات في المترجم والتي يتم العبور بها الى الحقائق والقواعد ومن ثم بداية البرامج التي قمنا بها .
بكل بساطه لغة البرولوغ تجعل جهاز الحاسوب يستخدم كمستودع للحقائق والعلاقات بينها , وتوفر سبل للوصول للاستنتاجات .
الحقائق ( Fact )
الحقائق في لغة البرولوغ تعبر عن العلاقات بين المواضيع( العوامل) من خلال المعطى الذي يمثل المعرفه .
Live(monkey,forest
وهنا في الجمله السابقه Live تمثل العلاقه بين monkey و forest ... ( اي ان القرد يعيش في الغابه )
والجمله كامله بكل محتوياها تسمى clause
يطلق على المواضيع ( العوامل ) بــــ arguments
ويطلق على العلاقات بينها بـــــ predicate
Rules ( القواعد)
تحتوي على جزئيين هما :-
1:- جزء الشرط ----------> body of clause
2:- جزء الهدف ----------> head of clause
Queries ( الاستعلام )
الاستعلام او الاسئله حيث تكبت في المترجم فيقوم المحرك ( engine ) بتتبع الهدف من خلال الحقائق والقواعد الموجوده في قاعدة المعرفه ( ملاحظه مجموعة الحقائق والقواعد في البرولوغ تسمى قاعدة المعارف ) .
كيف يكون استخدام الاسئله او الاستعلام في البرولوغ ؟
عندما يتم طرح سؤال في البرولوغ , يصار الى البحث في قاعدة البيانات والتي اشرنا انها تمثل الحقائق والعلاقات بنها ( القواعد) , ومن ثم
يبحث عن الحقائق التي تطابق الاستعلام في السؤال , لذا فاذا وجد هذه الحقائق التي تطابق فيكون الجواب بـــ " Yes " والعكس يكون "No " .
أمر مهم جدا :- اسماء المواضيع والعلاقات بينها يجب ان تبدأ بأحرف صغيره ( lowercase letter ).
والحقائق والجمل يجب ان تنتهي بــــ " . "
مثال :-
father(khaled, mohammad).
----
اين نكتب برنامج البرولوغ ؟
الحقائق والقواعد تخزن في ملفات تمثل ما يسمى قاعدة المعارف , ثم عندما نريد العمل عليها نقوم بتحميل هذه القاعدة من المعارف الى المترجم , وعندما نغير اي معلومه في هذه الملفات فيصار الى اعادة تحميلها مره اخرى الى المترجم ( لكي يتم تفعيلها مره اخرى ) .
----
قراءة ملفات البرامج
consult (filename).
---
Prolog Syntax
هنالك العديد من الشروط التي يجب مراعاتها عند كتابة الثوابت والمتغيرات بالاضافه الى الانواع :-
الــ Atoms يجب ان تتكون من الاحرف التاليه(شروط) :-
1:- The upper-case letters
2:- The lower-case letters
3:- The digits
4:-The special characters مثل
+, -, *, /, <, >, =, :, ., &, ~, _
ولكن الشرط المهم هو انه عند كتابة ال Atoms لا يجب ان تبدأ بـــ upper-case letters او "_" .
امثله على الــ Atoms :-
krrk, x15, x_, x___y, ahmad_khaled
<---> , ==>, … , .:. , ::=
باستثاء هذا الرمز " :- " لانه يمثل جزء من ادوات اللغه ( كما اشرنا سابقا من انه يفصل بين الشرط والهدف في القواعد ) .
ممكن ان تكتب هكذا لكن بشرط وجود ' '
'Mohammad' , 'Othman Khaled '
الــ Numbers
أعداد صحيحه
100 ,20 ,-90, 0
أعداد حقيقيه
3.99, -0.0001 , 10000.004
الــ Variables
تتكون من احرف وارقام و ايظا " _ " , وتبدا بــ upper-case او " _ " .
ملاحظة :- عن استخدام " _ " بشكل فردي فلها معنى خاص حيث تسمى متغير مجهول .
ونطاق عمل الـــ Variables يكون في الـــ clause متظمنه داخلها ..
بمعنى اخر انه مثلا X16 يمثل متغير , وعندما يتواجد في 2 clause فهو يمثل متغيران اثنان مختلفان عن بعض , اما عندما يكون هتالك اكثر من X16 ولكن في نفس الــ clause فكلها تمثل نفس المتغير وتعود له .
الـــ Structures
date (3, jan, 1982)
وتحتوي على اكثر من عامل , ويمكن ان تكون هذه العوامل متغيرات مثل :-
date (Day, jan, 1982)
وهذا يعني ان اليوم اصبح متغير , وهذا يعطي اي يوم في شهر jan وفي سنة 1982 .
تم النشر منذ (معدل)
بســـــم الله الرحمن الرحـــيم
اللهم صلي على سيدنا محمد وعلى آله وصحبه أجمعين
سنقدم في هذه الدوره ان شاء الله دروس لتعلم البرمجه بلغة البرولوغ ( PROLOG )
نبدأعلى بركة الله ..
الدرس الأول
النسخه التي اعتمدها في تطبيق هذه الدوره هي version 4.000 of WIN-PROLOG
ولتنصيب هذه النسخه ( وكذالك الامر لباقي النسخ ) من خلال النقر على SETUP.EXE
ومن ثم تشغيل واجهة البرنامج ( المترجم ) ..
ثم بعد تشغيل المترجم يبدأ بقراءة ملفات البرامج و وقبول الاستفسارت والاسئله الخاصه بالبرنامج او الاستعلامات التي نريدها .
وللخروج من المترجم فقط قم بكتابة halt ويتبعها طبعا "."
طبعا ملفات البرولوغ دائما تكون بامتداد pl. او pro.
مقدمه :-
لغة البرولوغ تسمى لغة تعريفيه واجرائيه ( تعريفيه بمعنى انها تعرف وتحدد ما يجب ان تكون عليه المخرجات واجرائيه بمعنى انها تعرف كيف يتم الحصول على المخرجات )
مكونات لغة البرولوغ :-
1:- declaring :- بعض الحقائق عن المواضيع(العوامل ) والعلاقات بينها .
2:- defining :- تعريف القواعد والشروط بين المواضيع والعلاقات بينها .
3:- asking :- اسئله عن هذه المواضيع وعن العلاقات بينها
.
مكونات الجمل كما اشرنا لها سابقا :-
1:- Fact :- الحقائق والمعارف .
2:- Rules :- العلاقات والقواعد بينها وتشبه عمل ال Function في لغات البرمجه الاخرى مثل الجافا والسي ++ وتحتوي على If/then .
3:- Queries :- الاسئله والاستعلامات في المترجم والتي يتم العبور بها الى الحقائق والقواعد ومن ثم بداية البرامج التي قمنا بها .
بكل بساطه لغة البرولوغ تجعل جهاز الحاسوب يستخدم كمستودع للحقائق والعلاقات بينها , وتوفر سبل للوصول للاستنتاجات .
الحقائق ( Fact )
الحقائق في لغة البرولوغ تعبر عن العلاقات بين المواضيع( العوامل) من خلال المعطى الذي يمثل المعرفه .
Live(monkey,forest
وهنا في الجمله السابقه Live تمثل العلاقه بين monkey و forest ... ( اي ان القرد يعيش في الغابه )
والجمله كامله بكل محتوياها تسمى clause
يطلق على المواضيع ( العوامل ) بــــ arguments
ويطلق على العلاقات بينها بـــــ predicate
Rules ( القواعد)
تحتوي على جزئيين هما :-
1:- جزء الشرط ----------> body of clause
2:- جزء الهدف ----------> head of clause
Queries ( الاستعلام )
الاستعلام او الاسئله حيث تكبت في المترجم فيقوم المحرك ( engine ) بتتبع الهدف من خلال الحقائق والقواعد الموجوده في قاعدة المعرفه ( ملاحظه مجموعة الحقائق والقواعد في البرولوغ تسمى قاعدة المعارف ) .
كيف يكون استخدام الاسئله او الاستعلام في البرولوغ ؟
عندما يتم طرح سؤال في البرولوغ , يصار الى البحث في قاعدة البيانات والتي اشرنا انها تمثل الحقائق والعلاقات بنها ( القواعد) , ومن ثم
يبحث عن الحقائق التي تطابق الاستعلام في السؤال , لذا فاذا وجد هذه الحقائق التي تطابق فيكون الجواب بـــ " Yes " والعكس يكون "No " .
أمر مهم جدا :- اسماء المواضيع والعلاقات بينها يجب ان تبدأ بأحرف صغيره ( lowercase letter ).
والحقائق والجمل يجب ان تنتهي بــــ " . "
مثال :-
----
اين نكتب برنامج البرولوغ ؟
الحقائق والقواعد تخزن في ملفات تمثل ما يسمى قاعدة المعارف , ثم عندما نريد العمل عليها نقوم بتحميل هذه القاعدة من المعارف الى المترجم , وعندما نغير اي معلومه في هذه الملفات فيصار الى اعادة تحميلها مره اخرى الى المترجم ( لكي يتم تفعيلها مره اخرى ) .
----
قراءة ملفات البرامج
---
Prolog Syntax
هنالك العديد من الشروط التي يجب مراعاتها عند كتابة الثوابت والمتغيرات بالاضافه الى الانواع :-
الــ Atoms يجب ان تتكون من الاحرف التاليه(شروط) :-
1:- The upper-case letters
2:- The lower-case letters
3:- The digits
4:-The special characters مثل
ولكن الشرط المهم هو انه عند كتابة ال Atoms لا يجب ان تبدأ بـــ upper-case letters او "_" .
امثله على الــ Atoms :-
باستثاء هذا الرمز " :- " لانه يمثل جزء من ادوات اللغه ( كما اشرنا سابقا من انه يفصل بين الشرط والهدف في القواعد ) .
ممكن ان تكتب هكذا لكن بشرط وجود ' '
الــ Numbers
أعداد صحيحه
أعداد حقيقيه
الــ Variables
تتكون من احرف وارقام و ايظا " _ " , وتبدا بــ upper-case او " _ " .
ملاحظة :- عن استخدام " _ " بشكل فردي فلها معنى خاص حيث تسمى متغير مجهول .
ونطاق عمل الـــ Variables يكون في الـــ clause متظمنه داخلها ..
بمعنى اخر انه مثلا X16 يمثل متغير , وعندما يتواجد في 2 clause فهو يمثل متغيران اثنان مختلفان عن بعض , اما عندما يكون هتالك اكثر من X16 ولكن في نفس الــ clause فكلها تمثل نفس المتغير وتعود له .
الـــ Structures
وتحتوي على اكثر من عامل , ويمكن ان تكون هذه العوامل متغيرات مثل :-
وهذا يعني ان اليوم اصبح متغير , وهذا يعطي اي يوم في شهر jan وفي سنة 1982 .
تم الدرس الاول بحمد الله .
القاكم في الدرس القادم ان شاء الله عز وجل .
تم تعديل بواسطه ( HASSAN )شارك هذا الرد
رابط المشاركة
شارك الرد من خلال المواقع ادناه