الـ ـفـ ردوس ،،

^مدونتي^ تعكس أرائي و أفكاري و أهدافي ... أحاول أن أدون فيه ماستفدت من الحياة من دورات و من مواقف و من قراءاتي ,,, فحياكم الله .

prolog ببساطة

Prolog ببساطة ..

 

[تساؤلات و إجابات]

تمكنك من معرفة هذه اللغة بشكلِ عام

تطرحها عليكم فردوس

^_^

 

س: ما معنى prolog  ؟

ج: إحدى لغات الذكاء الاصطناعي ، يمكنك الإطلاع هنا لموضوع كتبته أختنا شاطئ الإبداع للتعرف على الذكاء الاصطناعي بشكل أوسع .

 هي اختصار للعبارة التالية : programming in logic

و تعني البرمجة حسب المنطق .

س: هل هي لغة برمجة لها كومبايلر خاص و محرر يتم تثبيته على الجهاز؟

ج: نعم هي لغة متكاملة يمكن تثبيتها على الجهاز لبرمجة أي المهام . و توجد إصدارات منها :

·       الإصدار : LAP prolog : يسمح ببرمجة النوافذ و اختيار الألوان و بناء تطبيقات احترافية ، و هذا الإصدار under dos  يعمل تحت نظام الدوس.

·       الإصدار : Windows prolog : يعمل تحت نظام الويندوز.

·       أيضاً هناك نسخة مرتبطة بـ oracle.

بالنسبة للمحررات :

إذا استخدمنا برنامج Word  فإنه يتم حفظ العمل بصيغة ASCII

و إذا استخدمت LAP prolog  يحفظ بامتداد .doc

و إذا استخدمنا PD prolog  يحفظ العمل بامتداد .Pro

س: هل بإمكاننا إنتاج برامج بواسطة  هذه اللغة ؟

ج: يعتبر البعض أن لغة prolog لغة مقيّدة تستخدم مهام برمجية  غريبة و هذا غير صحيح لأنه يمكن استخدامها في كتابة أي برنامج فهي لغة كاملة . و تستخدم في التعليم العالي و الأبحاث ، و في صناعة الأنظمة ، مثل : أنظمة قواعد المعرفة ، و أنظمة الخبرة .

كما أنها تستخدم في المسائل المعتمدة على البحث .

س: ما هي مميزات هذه اللغة عن لغات البرمجة الأخرى ؟

يبقى هذا السؤال الذي يفرض نفسه .. و لتوضيح المفهوم أكثر .. ينبغي أن تعلم عزيزي القارئ

أن لغات البرمجة المتعارف عليها مثل : الجافا و الفيجوال بيسيك و السي و الدلفي و غيرها

تسمى بـ (اللغات الإجرائية ) بمعنى أنها لغات تفسيرية تعطي لائحة التعليمات للحاسب و إعطاء المهام المراد تنفيذها .. بعكس لغة prolog فهي (لغة تصريحية) يتم التصريح عن المعطيات و الحقائق في قاعدة معطيات .

و أيضاً فإن لغة prolog :

*  توجه للمبرمج .و لا توجه للحاسب مباشرة .

* و آلية البحث فيها مبرمجة داخل اللغة بعكس اللغات الإجرائية فإنه يتم برمجة آلية البحث لكل عملية بحث مختلفة .

* أيضاً إن هذه اللغة تعمل على اختصار و تسجيل البرمجة بعكس اللغات الإجرائية التي تجبر المبرمج على كتابة كل تعليمة لتنفيذ المهام .

س: مثال يوضح آلية عمل هذه اللغة ؟

في هذه اللغة . لا يتم التصريح عن المتغيرات في بداية البرنامج أو إنشاء كلاس يتم استدعاؤه وقت البرنامج .. أيضاً لا تحوي على الشروط .. و لا تحوي على الحلقات بكافة أشكالها و صورها ، ولا تحوي على مصفوفات ..

فيتم وضع كافة معطيات البرنامج داخل قاعدة معطيات ، و بعد ذلك يتم إجراء المعالجة عليها

من ناحية الاستعلام و البحث .

نأخذ مثال بسيط :

لو نفرض أن لدينا قاعدة باسم (furniture)

و تحوي المعطيات التالية :

Furniture(chair,kichen,5).

Furniture(chair,bedroom,2).

Furniture(ded,bedroom,1).

Furniture(sofa,lounge,3).

Furniture(table,kitchen,1).

Furniture(cooker,kitchen,1).

نلاحظ أن القاعدة باسم (المفروشات) و تحوي على 3 أصناف :

في كل مرة نكتب اسم القطعة و مكان تواجدها و عددها .

فمثلا : الكرسي موجود بالمطبخ و يوجد منه 5 .

طبعاً مثال توضيحي .. لتتبين لكم الفكرة ... فقط

نرجع للمثال ثاني مرة :

لو أردت الاستفسار عن الكراسي و أماكن تواجدها و عددها : كيف سأصيغه ؟

من اللازم أن تتضح لديكم فكرة .. أننا عندما نريد ان نستعلم عن شئ مجهول أو غير معروف نضعه كمتغير .. كيف يعني متغير ؟

إليك أنواع الوسائط المستخدمة في هذه اللغة :

1: integer : عدد صحيح  لا يحتوي فواصل عشرية .

2:real : عدد عشري يحتوي فواصل عشرية .

3:atoms :معناه ذرات تبدأ بحرف صغير ثم تختوي على أرقام و أحرف كبيرة أو –

4:string : نصوص تحوي : حروف و أرقام رموز أو فراغات .

5: variables  : متغيرات و متحولات تبدأ بحرف كبير .

 

نرجع للمثال : و نقوم بتفصيله ،

الاستفسار كان عن الكراسي : إذن الكراسي شئ معلوم ،

و عددها : إذن عددها هو مجهول .

و أماكن تواجدها : أيضاً أماكنها مجهولة .

بكدا يكون عندنا مجهولين بصيغة الاستفسار و معلوم واحد .. صح ؟

فيكون الاستفسار كالتالي :

?- furniture (chair, Room, Number ).

نأخذ مثال 2:

الاستفسار عن جميع الأثاث الموجود في غرفة النوم :

المكان معلوم ، و نوع القطع و عددها مجهول ، يسكون الجواب كالتالي :

?- furniture (F , bedroom , N).

 

س : هل هناك ثمة مشاريع أنتجت بهذه اللغة ؟

من المشاريع التي أنتجت بهذه اللغة :

·       مشروع الجينات البشرية العالمية .

·       مشروع ICCARUS لبرمجة نظام تدريب متعدد الوسائط التفاعلي لرجال الإطفاء .

·       منظمة ALP  منظمة البرمجة المنطقية .

س: كتب و مراجع تتحدث عن هذه اللغة ؟

1: كتاب   Prolog A Tutorial Introductionتحميل الكتاب من هنا
2: كتاب Introduction to Prologتحميل الكتاب من هنا

3: كتاب Logic Programming and Prolog تحميل الكتاب من هنا
4: كتاب ! Learn Prolog Now تحميل الكتاب من هنا

 

قراءة ممتعة  أتمناها لكم

و إضافة برمجية هادفة

 

 



أضف تعليقا

CaRaMeElA من المملكة العربية السعودية
09 ذو الحجة, 1429 04:56 ص


معلومات جديده علي!!


هناك بعض المصطلحات لم افهم معناها،،


ولكني سأكون هنا لاحقا للقراءه بنركيز اكثر!!


دمتِ بع ــطاء





توتـــا

المشروع - مجتمع مطوري المواقع