- الأصل
- مميزات
- نظرية البرمجة المنظمة
- جمل التحكم
- التسلسل أو الهيكل الخطي
- هيكل القرار أو البدائل
- حلقة أو هيكل متكرر بسؤال أولي
- مستقل عن لغة البرمجة
- أمثلة البرمجة المنظمة
- تسلسل
- تكرار
- اختيار
- البرمجة المهيكلة في Visual Basic
- تسلسل
- تكرار
- اختيار
- مميزات
- برامج أوضح
- سهل الفهم
- سلبيات
- تكرار نفس الرمز
- من المرهق تغيير أنواع البيانات
- التطبيقات
- التعامل مع الكائن
- المراجع
و البرمجة المهيكلة حكما في تصميم وبناء البرمجيات، من أجل تحسين إدارة التعقيد، مع الأخذ بعين الاعتبار خصوصيات الفكر الإنساني. يعتمد كل برنامج على خوارزمية ويمكن تمثيله بواسطة مخطط منطقي.
نشأت من التعقيد المتزايد للبرامج المحوسبة. لقد أصبح مخطط برمجة جديدًا ابتكر تقنيات جديدة لتكون قادرة على إنتاج برامج آمنة للعمل لفترة أطول.

هيكل القرار وهيكل التسلسل في البرمجة المنظمة. المصدر: I.hidekazu CC BY-SA (httpscreativecommons.orglicensesby-sa4.0)
بفضل التطور السريع في معالجة البيانات المحوسبة ، كان من الممكن في أواخر الستينيات حل المشكلات المعقدة بشكل متزايد. ومع ذلك ، فقد أدى فهم هذه البرامج وتصحيحها وتعديلها إلى ظهور صعوبات جعلتها غير موثوقة.
كانت لبرامج الكمبيوتر الكبيرة التي تم إنشاؤها لحل هذه المشكلات رموز مصدر طويلة جدًا وغير منظمة لدرجة أنها أصبحت معقدة للغاية للوصول إليها والتنقل فيها ببعض المنطق ، حتى بالنسبة لمؤلفيها.
الأصل
استخدم المبرمجون الأمر "goto" في لغات البرمجة لأداء التفريع الشرطي ، والذي غالبًا ما أدى إلى سهولة القراءة ولم يتم الحفاظ على السياق المنطقي.
في أزمة البرمجيات تلك ، بدأ النظر في إمكانية تطوير منهجية عامة ومنضبطة بشكل منهجي تسمح ببرامج أكثر دقة. استجابة لهذا النهج ، ولدت طريقة البرمجة المنظمة.
في عام 1968 ، نشر ديكسترا مقال "جوتو ، الأمر يعتبر ضارًا" ، حيث أشار إلى أن الاستخدام العشوائي لهذا الأمر كان له تأثير سلبي على قابلية قراءة وفهم برامج الكمبيوتر.
قام نيكلاوس ويرث بتصميم لغة برمجة جديدة تسمى باسكال صدرت عام 1970. ومنذ ذلك الحين تم استخدامها على نطاق واسع لتعليم تصميم البرمجة المنظمة.
مميزات
يتميز وضع البرمجة هذا بحقيقة أن المبرمجين يمكنهم تجزئة الكود المصدري لبرامجهم إلى كتل منظمة منطقيًا ، تتكون من حلقات ، وكتل منطقية ، وأوامر شرطية.
الهدف من البرمجة المنظمة هو إنشاء برامج يسهل كتابتها وتصحيحها وتعديلها. البرامج التي تم الحصول عليها واضحة ومرتبة ومفهومة وبدون قفزات.
نظرية البرمجة المنظمة
ابتكر Dijkstra نظرية مرتبطة بالبرمجة المهيكلة ، والتي أشارت إلى أنه عند تصميم أي برنامج ، من الملائم مراعاة الأساسيات التالية:
- النظرية البنيوية ، التي تنص على أنه يمكن تجميع أي برنامج باستخدام ثلاثة هياكل تحكم أساسية فقط: الهيكل المتسلسل ، والبنية البديلة ، والبنية المتكررة.
- عند تحديد البرامج ، يُنصح بتطبيق التقنية التنازلية ، والتي تسمى أيضًا من أعلى إلى أسفل.
- يجب أن تكون نطاقات الصلاحية وإمكانية رؤية المتغيرات وهياكل البيانات محدودة.
جمل التحكم
تشير النظرية الهيكلية إلى أن أي خوارزمية بنقطة بداية ونهاية واحدة يمكن تشكيلها كتكوين من ثلاثة هياكل تحكم.
من خلال البرمجة المنطقية والواضحة لهياكل التحكم المدعومة هذه ، تتيح البرمجة المنظمة اتباع نهج فعال للوظائف بأي درجة من الصعوبة.
التسلسل أو الهيكل الخطي
هذه البنية هي ببساطة تسلسل أو تعاقب عمليتين أو أمرين أو أكثر.
هيكل القرار أو البدائل
إنه اختيار أمر بين بديلين محتملين. يُسمح أيضًا بالاختيار بين أكثر من بديلين.
حلقة أو هيكل متكرر بسؤال أولي
يتم تكرار أوامر معينة طالما تم استيفاء شرط معين. يمكن أيضًا إجراء الدورة باستخدام عداد.
مستقل عن لغة البرمجة
تعتمد البرمجة المنظمة على وحدات وظيفية محددة جيدًا ، مصنفة وفقًا لطبيعة المشكلة المحددة. هذه البرمجة هي طريقة مستقلة للغة البرمجة ، وتتصرف مثل أسلوب البرمجة.
إنها طريقة لابتكار برامج تتبع قواعد راسخة ، باستخدام مجموعة معينة من هياكل التحكم لهذا الغرض.
تسمح البرمجة المهيكلة بكتابة البرامج بالشفرة الزائفة ، بغض النظر عن لغة الآلة ، قريبة من اللغة الطبيعية ، وقابلة للتحويل إلى أي لغة برمجة.
أمثلة البرمجة المنظمة
سيكون أي مقتطف رمز في أي لغة برمجة حديثة تقريبًا مثالاً على البرمجة المنظمة.
تستخدم هذه البرمجة الحلقات والشرطية والروتينات الفرعية للتحكم في التدفق والنمطية لتسهيل قراءة الكود وإعادة استخدامه.
تسلسل
يمكن تنفيذ قائمة العبارات بالترتيب ، من أعلى إلى أسفل. في هذه الحالة ، يتم تقديم برنامج لغة طبيعية لخبز الخبز كمثال:
- إضافة الطحين.
- أضف الخميرة.
- أضف الملح.
- مزج.
- إضافة الماء.
- اعجن.
- دع العجين يرتفع.
- ليخبز.
تكرار
تتكرر كتلة العبارات طالما أن الشرط صحيح. على سبيل المثال: غسل الصحون.

اختيار
يتم اختيار إجراء واحد على الأكثر من عدة شروط بديلة. على سبيل المثال: اطلب البريد.

البرمجة المهيكلة في Visual Basic
تسلسل
تتم كتابة سطور أو كتل التعليمات البرمجية وتنفيذها بترتيب تسلسلي. على سبيل المثال ، لديك:
س = 6
ص = 12
ض = س + ص
خط الكتابة (ع)
تكرار
يتم تكرار كتلة التعليمات البرمجية أثناء استيفاء الشرط. لا يوجد حد لعدد المرات التي يمكن فيها تنفيذ الكتلة. مثال:
س = 2
طالما أن x <100
خط الكتابة (x)
س = س * س
النهاية
اختيار
يتم تنفيذ كتلة من التعليمات البرمجية إذا كان الشرط صحيحًا. يتم تشغيل كتلة التعليمات البرمجية مرة واحدة على الأكثر. مثال:
x = ReadLine ()
إذا كان x Mod 2 = 0
WriteLine ("الرقم زوجي")
نهاية نعم
مميزات
- هي برامج تلبي احتياجات العملاء.
- على الرغم من أن إنشاء الكود في البداية يستغرق وقتًا أطول ، إلا أنه غالبًا ما ينتج عنه رمز يعمل بدون أخطاء عند تشغيله لأول مرة.
- تشبه مفردات الكلمات والرموز في اللغة الإنجليزية.
- من السهل التعامل مع التغييرات في البرنامج بمواصفات جديدة في المستقبل.
- إنها أسهل في الصيانة.
- سهل الاستخدام والفهم. في النهاية يتطلب وقتًا أقل لكتابة الرمز. من الأسهل التعلم.
- يمكن ترجمة البرنامج المكتوب بلغة عالية المستوى إلى العديد من لغات الآلة. لذلك ، يمكن تشغيله على أي جهاز كمبيوتر يوجد له مترجم أو مترجم مناسب.
- هم في المقام الأول موجهون نحو المشكلة وليس الآلة.
- مستقل عن الكمبيوتر الذي يتم استخدامه عليه. بمعنى آخر ، يمكن تشغيل البرامج المطورة بلغات عالية المستوى على أي جهاز كمبيوتر.
برامج أوضح
تقلل البرمجة المنظمة من احتمالية تأثير إحدى الوظائف على أخرى. هذا يجعل البرامج أكثر وضوحًا ، حيث يتم إزالة المتغيرات العالمية لتحل محلها المتغيرات المحلية.
نتيجة لهذا التغيير ، يمكن حفظ مساحة تخصيص الذاكرة التي يشغلها متغير عام.
سهل الفهم
تساعد المنظمة على فهم منطق البرمجة بسهولة ، من أجل فهم المنطق وراء البرامج.
كما أنه يساعد الوافدين الجدد من أي شركة تقنية على فهم البرامج التي أنشأها عمال الصناعة الآخرون ، وبالتالي يسهل تصحيح أخطاء الكود المحتمل.
سلبيات
- يجب على المترجم أو المترجم ترجمة اللغة عالية المستوى إلى لغة الآلة. لذلك ، يجب دفع ثمن في استخدام وقت الكمبيوتر.
- يمكن أن يكون رمز الكائن الذي تم إنشاؤه من قبل المترجم غير فعال عند مقارنته ببرنامج لغة تجميع مكافئ.
تكرار نفس الرمز
يمكن أن يظهر الرمز المكتوب في أجزاء مختلفة من البرنامج. يمكن أن يكون عرضة لمشاكل مختلفة بسبب موقعه. تحتوي البرامج على متغيرات ، مما يعني أنها يمكن أن تأخذ قيمًا مختلفة في أجزاء مختلفة من البرنامج.
من المرهق تغيير أنواع البيانات
يأتي نوع البيانات من العديد من الوظائف. لذلك ، عند حدوث تغييرات في هذا النوع من البيانات ، يجب إجراء التغيير المقابل في كل موقع يعمل على هذا النوع من البيانات داخل البرنامج. هذه مهمة تستغرق وقتًا طويلاً حقًا إذا كان البرنامج كبيرًا جدًا.
يمكن النظر في حالة تطوير البرمجيات ، حيث يعمل العديد من المبرمجين كفريق في أحد التطبيقات. في برنامج منظم ، سيتم تعيين كل مبرمج لبناء مجموعة محددة من الوظائف وأنواع البيانات.
لذلك ، سيتعامل المبرمجون المختلفون بشكل منفصل مع وظائف مختلفة لها أنواع بيانات مشتركة مع بعضها البعض.
يجب أن يعكس المبرمجون الآخرون في الفريق التغييرات في أنواع البيانات التي أجراها المبرمج ، في أنواع البيانات التي تعاملوا معها. خلاف ذلك ، سيتعين إعادة كتابة وظائف متعددة.
التطبيقات
لقد نجحت البرمجة المهيكلة بشكل جيد مع ملايين البرامج ومليارات الأسطر من التعليمات البرمجية. لا يوجد سبب لتجاهلها.
على وجه الخصوص ، لقد عملت بشكل جيد للغاية بالنسبة للبرامج التي تعالج البيانات ومعالجة الأرقام ، وكلاهما يتم تشغيلهما مرة واحدة لإنتاج استجابة.
هناك سمتان تميلان إلى تحديد المشكلات التي يمكن تناولها بطريقة منظمة بحتة:
- تتطابق البيانات التي سيتم التعامل معها بشكل وثيق مع أنواع البيانات التي يتم دمجها في اللغة ، والتي تكون بشكل عام أرقامًا وسلاسل أحرف.
- يتبع البرنامج تدفقًا محددًا جيدًا للتحكم لإنتاج نتيجة واحدة بناءً على بعض المدخلات.
تتضمن برامج الكمبيوتر التي تتمتع بهذه الخصائص العديد من التطبيقات العلمية والهندسية ومعالجة النصوص ، بالإضافة إلى العديد من أمثلة الكتب المدرسية لدورات علوم الكمبيوتر التقليدية.
ليس من المستغرب أن هذه هي بالضبط أنواع البرامج التي أراد أول من اخترع لغات البرمجة حلها.
التعامل مع الكائن
يتم تنظيم معظم لغات البرمجة الحديثة على النحو التالي: ما لديك في البرنامج عبارة عن كائنات ، وتتكون معظم التعليمات البرمجية من طرق مختلفة لاستخدام البيانات المخزنة في تلك الكائنات.
يتحكم البرنامج المنظم عمومًا في ما يحدث ومتى يحدث ، بينما يجب أن يكون البرنامج القائم على الحدث قادرًا على الاستجابة للأحداث في أوقات غير متوقعة.
المراجع
- MVPS (2020). برمجة منظمة. مأخوذة من: mvps.net.
- أليكسي (2019). نموذج البرمجة المهيكلة. متوسط. مأخوذة من: medium.com.
- تضمين التعليمات (2020). البرمجة الهيكلية ، مزاياها وعيوبها. مأخوذة من: includeehelp.com.
- تيم تروت (2019). لغات البرمجة المنظمة. Lonewolf اون لاين. مأخوذة من: lonewolfonline.net.
- بوابة OO (2020). استخدامات وفوائد البرمجة التقليدية المنظمة. مأخوذة من: ooportal.com.
- ستوديير سنيل (2020). المراجعة النهائية - ملخص تطبيقات البرمجة المنظمة. مأخوذة من: studeersnel.nl.
