برولوغ - ويكيبيديا

# برولوغ

### من ويكيبيديا، الموسوعة الحرة

لغات برمجة
لغات كائنية
سي++ ++C | سي شارب #C
دلفي Delphi | ادا 95 Ada
جافا Java | سمولتوك Smalltalk
روبي Ruby
لغات تقليدية
بيسيك Basic | سي C
باسكال Pascal | كوبول COBOL
فورتران FORTRAN | أسمبلي Assembly
لغات وظيفية
ليسب Lisp | برولوغ Prolog
بايثون Python | باريس Paris
هندسة برامج

البرولوغ (Prolog) هي لغة برمجة منطقية (logic programming) . الأسم مأخوذ من الفرنسية programmation en logique (برمجة المنطق)، تم أختراع اللغة بواسطة ألين كولميرايور حوالي العام 1972. كانت محاولة لجعل لغة البرمجة قادرة على أستخدام عبارات منطقية بدل أن تكون تعليمات محددة تلقن الى الحاسوب. صممت اللغة أساساً لتستخدام في عمل برامج معالجة اللغات الطبيعية.

تستخدم لغة البرولوغ في العديد من برامج الذكاء الإصطناعي (artificial intelligence) و برامج معالجة اللغات الطبيعبة. عبارات وقواعد اللغة تعبتر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل بأستخدام الحقائق و القواعد). العديد من الباحثين الذين يقودون تطبيقات حديثة للبرلوغ التي جاءت نتيجة أستخدام نسخات مختلفة من البرلوغ كنواة في مشاريع أنظمة حاسوب الجيل الخامس (fifth generation computer systems أختصاراً FGCS).

## [تحرير] الحقائق Facts

تختلف طريقة البرمجة في برلوغ عن اللغات التقليدية. في برلوغ يتم كتابة الحقائق (Facts) والقواعد (Rules) في قاعدة بيانات، ثم يتم كتابة أستفسارت queries من قاعدة البيانات. الحقية عبارة عن سند (predicate) (الوحدة الأساسية للبرلوغ). يتكون السند من رأس (head) وعدد من الوسائط (arguments). مثال

    cat(tom).

في هذا المثال نقول بباسطة أن هناك توم 'tom' وهو قط 'cat'،بتعبير أدق 'cat' هو رأس (head) السند و 'tom' هو وسيطة (argument). هنا عدد من الأستفسارات التي يمكن سؤالها بناء على هذه الخقيقة:

هل توم قط (is tom a cat)؟

    ?- cat(tom).
         yes.

ببساطة هنا نسأل إذا توم قط ويجيبنا برلوغ بنعم (yes).

ماهي الأشياء التي هي قط (what things are cats)؟

    ?- cat(X).
         X = tom;
         yes

## [تحرير] القواعد Rules

أن النوع الثاني من العبارت في برلوغ هي القواعد:

    father(X,Y) :- parent(X,Y),male(X).

## [تحرير] أنواع المعلومات Data types

لاتحتوي لغة البرلوغ على أنواع معلومات (Data types) تقليدية كلغات البرمجة التقليدية الأخرى. ولكن على عناصر تركيبية (lexical elements) .

### [تحرير] الذرات Atoms

يعرف النص الثابت في برلوغ بمعنى الذرات Atoms. الذرة عبارة عن سلسة من الحروف،الأرقام و رمز شرطة-السفلية (_) (underscores) على أن يبدأ النص بحرف أنجليزي صغير (lower-case). عادة، عادة اذا كان هناك رمز ليس بحرف أو رقم فأنه يوضع بين (علامة التنصيص الأحادية) (مثال '+' يعتبر ذرة، في حين + يعتبر معامل)

### [تحرير] الأرقام

معظم نسخ البرلوغ لاتميز بين الأعداد الصحيحة و الأعداد الحقيقية.

### [تحرير] المتغيرات Variables

يعبر المتغيرات Variables عن نص يتكون من الحروف،الأرقام و رمز شرطة-السفلية (_) على أن يبدأ النص بحرف أنجليزي كبير (upper-case). عللى عكس اللغات القولية (imperative programming languages) في بيئة البرلوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين االقيم فيه. تصرف المتغيرات يتبع النمط لأيجاد القيمة.

تمّ الاسترجاع من "http://ar.wikipedia.org../../../%D8%A8/%D8%B1/%D9%88/%D8%A8%D8%B1%D9%88%D9%84%D9%88%D8%BA.html"

تصنيفات الصفحة: برمجة منطقية | لغات برمجة

##### Views

- مقالة
- ناقش هذه الصفحة
- النسخة الحالية

##### الموسوعة

- الصفحة الرئيسية
- الأحداث الجارية
- أحدث التغيرات الأساسية

##### تصفح

- المواضيع
- أبجدي
- بوابات

##### المشاركة و المساعدة

- بوابة المجتمع
- مساعدة
- الميدان
- التبرعات

##### بحث

##### لغات أخرى

- Aragonés
- Asturianu
- Български
- Česky
- Dansk
- Deutsch
- English
- Esperanto
- Español
- Suomi
- Français
- Galego
- עברית
- Magyar
- Bahasa Indonesia
- Ido
- Italiano
- 日本語
- Lojban
- 한국어
- Nederlands
- Polski
- Português
- Română
- Русский
- Svenska
- ไทย
- Türkçe
- 中文