برمجة إجرائية
هو نمط برمجة مشتق من البرمجة الهيكلية يستند إلى مفهوم استدعاء الإجراء، وما الإجراء إلا سلسلة من الخطوات الحسابية التي يتعين الاضطلاع بها، والتي يمكن استدعاؤها في أي وقت أثناء تنفيذ البرنامج، من قبل إجراءات أخرى أو من قبل الإجرائية ذاتها.
في الحقيقة هذا النمط من انماط البرمجة يملك عدة أسماء فالتسمية الرئيسية لهذا النمط من انماط لغات البرمجة يدعى Procedural programming اي لغة اجرائية كونها تعتمد الاجرائيات ويمكن ان تدعى ب imperative programming اي لغة امرية وذلك من كونها لغة امرية بحيث تعتمد على تلقين الحاسب الحل خطوة بخطوة كما قد نجد تسمية structured programming اي برمجة هيكلية بحيث تعتمد على مفهوم استدعاء الاجرائيات أو كما هي معروفة بالروتين.
تعتمد هذه اللغة عدة مبادئ : تقسيم البرنامج إلى عدة اقسام جزئية لتسهيل القراءة واعادة الاستخدام تسمى هذه الاجزاء بعدة أسماء : Procedures اجراءات functions توابع methods منهجيات routines روتين subroutines روتين فرعي توصيف حل المشكلة خطوة بخطوة والتي تعد من مساوئ هذا النمط حيث يجب على المبرمج ان يقوم بحل المشكلة المتناولة بنفسه وليس الحاسب.
هذا النمط كان يعتبر الجيل الثالث من انماط البرمجة.
المقارنة مع اللغات الامرية imperative
اللغات الاجرائية هي أيضاً لغات امرية كون النمطين يملكان مؤشر للحالة الحالية بشكل واضح في بيئة التنفيذ.
المقارنة مع اللغات غرضية التوجه object-oriented
ان الهدف الرئيسي للبرمجة الاجرائية بتقسيم مهام البرنامج إلى عدة تفرعات تسهل عمل المبرمج سواء كان ذلك التقسيم بمجموعة متحولات أو بنى معطيات أو توابع بينما في اللغات غرضية التوجه فإنه يتم تقسيم مهام البرنامج إلى أغراض objects وكل غرض يتم تغليفه بمتحولاته وتوابعه الخاصة فيه.
الفرق الرئيسي بين النمطين هو ان البرمجة الاجرائية تقوم بالعمليات على بنى المعطيات المتوفرة بينما في النمط غرضي التوجه تتم العمليات على حزم مكونة من الغرض وبنى المعطيات الخاصة فيه.
التسميات تتغير بين النمطين على الرغم من انهما يملكان نفس الدلالات
object-oriented procedural
method function
object module
message function call
attribute variable
المقارنة مع اللغات المنطقية Logic programming
في لغات البرمجة المنطقية البرنامج هو عبارة عن مجموعة من قضايا أو حقائق منطقية وقواعد دلالية ,العمليات الحسابية تتم محاولة إيجاد برهان النظرية. من وجهة النظر هذه فإن لغات البرمجة المنطقية هي لغات declarative تصريحية تركز بشكل اساسي على ماهية المشكلة أكثر من كونها تركز على الحل بحد ذاته.
بكل الأحوال تستخدم اللغات المنطقية تكتيك السسلة الخلفية لعملية الاستنتاج backward reasoning يتم التعامل مع البرنامج على انه تساؤل يجب الاجابة عليه والبحث عن اجابته.
تعتمد اللغات المنطقية على قوانين هورن الممثلة بالشكل التالي :
H :- B1, …, Bn.
بحيث H هو الدالة الهدف و B1...n هي قضايا يجب البحث عن حلها لحل القضية الرئيسية
ويمكن تأويلها بشكل إجرائي على الشكل :
كي تحل\تظهر H اظهر\حل B1 وقم بحل\اظهار B2...... إلى Bn
وبلغة المنطق الرياضي يمكن القول الجملة السابقة تكافئ :
B1 and … and Bn → H
مبرمجي اللغات المنطقية المحترفين يستخدمون تفسيرات اجرائية ليكتبو برامجهم وتفسيرات تصريحية للتأكد من خلو الهدف من اخطاء والوصول للهدف.
be-x-old:Працэдурнае праграмаваньне de:Prozedurale Programmierung el:Δομημένος προγραμματισμός Procedural programming]] et:Protseduraalne programmeerimine fa:برنامهنویسی رویهای fi:Proseduraalinen ohjelmointi fr:Programmation procédurale he:תכנות פרוצדורלי ja:手続き型プログラミング ko:절차적 프로그래밍 ms:Pengaturcaraan bertatacara nl:Procedureel programmeren pl:Programowanie proceduralne pt:Programação procedural ro:Programare procedurală ru:Процедурное программирование sv:Procedurell programmering tr:Yordamsal programlama uk:Процедурне програмування vi:Lập trình thủ tục