برمجة إجرائية: الفرق بين النسختين

[مراجعة غير مفحوصة][مراجعة غير مفحوصة]
تم حذف المحتوى تمت إضافة المحتوى
ط r2.5.1) (روبوت إضافة: en:Procedural programming
CipherBot (نقاش | مساهمات)
ط تدقيق إملائي وتنسيق
سطر 2:
هو نمط برمجة مشتق من [[برمجة هيكلية|البرمجة الهيكلية]] يستند إلى مفهوم استدعاء الإجراء، وما الإجراء إلا سلسلة من الخطوات الحسابية التي يتعين الاضطلاع بها، والتي يمكن استدعاؤها في أي وقت أثناء تنفيذ البرنامج، من قبل إجراءات أخرى أو من قبل الإجرائية ذاتها.
 
في الحقيقة هذا النمط من انماط البرمجة يملك عدة اسماء فالتسمية الرئيسية لهذا النمط من انماط لغات البرمجة يدعى Procedural programming اي لغة اجرائية كونها تعتمد الاجرائيات ويمكن ان تدعى ب imperative programming اي لغة امرية وذلك من كونها لغة امرية بحيث تعتمد على تلقين الحاسب الحل خطوة بخطوة كما قد نجد تسمية structured programming اي برمجة هيكلية بحيث تعتمد على مفهوم استدعاء الاجرائيات اوأو كما هي معروفة بالروتين .
 
تعتمد هذه اللغة عدة مبادىء :
تقسيم البرنامج الىإلى عدة اقسام جزئية لتسهيل القراءة واعادة الاستخدام تسمى هذه الاجزاء بعدة اسماء :
Procedures اجراءات
functions توابع
سطر 11:
routines روتين
subroutines روتين فرعي
توصيف حل المشكلة خطوة بخطوة والتي تعد من مساوىء هذا النمط حيث يجب على المبرمج ان يقوم بحل المشكلة المتناولة بنفسه وليس الحاسب .
 
هذا النمط كان يعتبر الجيل الثالث من انماط البرمجة.
 
==المقارنة مع اللغات الامرية imperative ==
اللغات الاجرائية هي أيضاً لغات امرية كون النمطين يملكان مؤشر للحالة الحالية بشكل واضح في بيئة التنفيذ .
 
==المقارنة مع اللغات غرضية التوجه object-oriented ==
ان الهدف الرئيسي للبرمجة الاجرائية بتقسيم مهام البرنامج الىإلى عدة تفرعات تسهل عمل المبرمج سواء كان ذلك التقسيم بمجموعة متحولات اوأو بنى معطيات اوأو توابع بينما في اللغات غرضية التوجه فإنه يتم تقسيم مهام البرنامج الىإلى اغراضأغراض objects وكل غرض يتم تغليفه بمتحولاته و توابعهوتوابعه الخاصة فيه .
 
الفرق الرئيسي بين النمطين هو ان البرمجة الاجرائية تقوم بالعمليات على بنى المعطيات المتوفرة بينما في النمط غرضي التوجه تتم العمليات على حزم مكونة من الغرض وبنى المعطيات الخاصة فيه .
 
التسميات تتغير بين النمطين على الرغم من انهما يملكان نفس الدلالات
 
 
object-oriented procedural
السطر 38 ⟵ 37:
 
==المقارنة مع اللغات المنطقية Logic programming ==
في لغات البرمجة المنطقية البرنامج هو عبارة عن مجموعة من قضايا اوأو حقائق منطقية وقواعد دلالية ,العمليات الحسابية تتم محاولة إيجاد برهان النظرية . من وجهة النظر هذه فإن لغات البرمجة المنطقية هي لغات declarative تصريحية تركز بشكل اساسي على ماهية المشكلة اكثر من كونها تركز على الحل بحد ذاته .
 
بكل الاحوالالأحوال تستخدم اللغات المنطقية تكتيك السسلة الخلفية لعملية الاستنتاج backward reasoning يتم التعامل مع البرنامج على انه تساؤل يجب الاجابة عليه والبحث عن اجابته .
 
تعتمد اللغات المنطقية على قوانين هورن الممثلة بالشكل التالي :
السطر 50 ⟵ 49:
ويمكن تأويلها بشكل إجرائي على الشكل :
 
كي تحل\تظهر H اظهر\حل B1 وقم بحل\اظهار B2 ...... الىإلى Bn
 
وبلغة المنطق الرياضي يمكن القول الجملة السابقة تكافىء :
السطر 56 ⟵ 55:
B1 and … and Bn → H
 
مبرمجي اللغات المنطقية المحترفين يستخدمون تفسيرات اجرائية ليكتبو برامجهم وتفسيرات تصريحية للتأكد من خلو الهدف من اخطاء والوصول للهدف .
 
 
 
 
[[تصنيف:برمجة]]