ما هي البرمجة الهيكلية؟

ما هي البرمجة الهيكلية؟

البرمجة الهيكلية، معروفة ايضاً باسم البرمجة المعيارية (Modular programming)، احد اساليب كتابة الكود، هدفها جعل عملية كتابة وقراءة الكود اكثر سلاسة وسهولة. عن طريق تقسيم عملية كتابة الكود الى شكل يقرب الى الشكل الهرمي الى عناصر مستقلة، كل عنصر منها مستقل عن العناصر الأخرى وله خصائصه المميزة له. لا داعي للقلق اذا وجدت هذه الجمل صعبة الاستيعاب. فهي مجرد جمل نظرية مجردة على كل حال. دعك من هذه الجمل وتعالى معي نتعمق في هذا المفهوم بشكل عملي مبسط أكثر.

ما هي عناصر البرمجة الهيكلية؟

البرمجة الهيكلية هى نموذج برمجى يسهل عملية انشاء البرامج عن طريق العناصر القابلة لإعادة الإستخدام, جميع لغات البرمجة الحديثة تدعم هذا المفهوم.
سنتعرف فيما يلى على عناصر البرمجة الهيكلية

Block

البلوك هو عبارة عن مجموعة من الأوامر المتتالية – Sequential commands – التي يتم تنفيذها واحدة تلو الأخرى، من السطر الأول الى السطر الأخير. اذا تناولنا هذا العنصر من وجهة نظر برمجية، من لغة ++C، فسيكون المثال على نوعية الكود في البلوك كالتالي:


Variable_X = Array[5];

Variable_X ++;

Sum = Variable_X + Variable_Y;

Output = Dummy_Function (Sum);

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

Selection

باختصار، Selection، هي عملية التحكم في التدفق. او من وجهة نظر برمجية عملية، هي IF STATMENT، والتي يتم بناءاً عليها اختيار في اي اتجاه سيذهب الكود بتاعك عند ظهور حدث معين.

Iteration

وهي عملية التكرار، او Loop، وهي اللف حول مجموعة من العناصر لاختيار عنصر أو اكثر. عملية التكرار لها العديد من الأشكال في البرمجة الهيكلية، كالFor Loop, While loop, While True loop وغيرهم. لكل منهم وظيفة معينة يتم اخيتارها بناءاً على المعطيات المقدمة.

Nesting

بالعربية، تسمى التداخل، وهي عبارة عن تداخل احد عمليات التحكم في التدفق – Flow Control- فمثلاً، اكثر من جملة If متداخلين في نفس البلوك تسمى بالتداخل. التداخل لها تأثير كبير على كفاءة الخوارزميات، يمكنك الاطلاع على كفاءة الخوارزميات بشكل عام من هنا.  ليست بالضرورة ان تكون جملة IF، ربما تكون دالة داخل دالة، او loop بداخل اخرى.

الفرق بين البرمجة الهيكلية وغير الهيكلية

في البرمجة غير المهيكلة ، يتم كتابة الكود ككتلة واحدة كاملة. يتم أخذ البرنامج بأكمله كوحدة واحدة. من الصعب إجراء تغييرات في البرنامج فبالتالى يصعب صيانة الكود.
تم استخدام هذا النموذج في الإصدارات السابقة من BASIC و COBOL و FORTRAN. وتحتوي لغات البرمجة غير المهيكلة على عدد محدود من أنواع البيانات مثل الأرقام والمصفوفات والسلاسل.
فى حين ان البرمجة الهيكلية كما ذكرنا تدعم عدد العناصر التى تسهل كتابة وقراءة وصيانة الكود وفيما يلى جدول باهم الفروق بين البرمجة الهيكيلية وغير الهيكلية

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

خلاصة المقارنة ان البرمجة المهيكلة وغير المهيكلة نموذجان في البرمجة. الفرق بين البرمجة المهيكلة وغير المهيكلة هو أن لغات البرمجة المهيكلة تسمح للمبرمج بتقسيم البرنامج بأكمله إلى وحدات أو دوال وفي البرمجة غير المهيكلة ، تتم كتابة البرنامج ككتلة واحدة. لغات البرمجة المهيكلة هي اللغات الحديثة ، واللغات غير المهيكلة هي أقدم إصدارات لغات البرمجة.

مزايا وعيوب البرمجة الهيكلية

مزايا البرمجة الهيكلية

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

عادةً ما يُنظر إلى هذه المزايا على أنها مقنعة ، بل وحاسمة ، وتستخدم جميع عمليات تطوير البرامج الحديثة تقريبًا برمجة منظمة.

عيوب البرمجة الهيكلية

أكبر عيب في البرمجة المنظمة هو تقليل كفاءة التنفيذ ، يليه استخدام أكبر للذاكرة وهذا غير مسموح به فى بعض التطبيقات خصوصًا التطبيقات فى الوقت الحقيقى Real Time Applications.

انواع البرمجة الهيكلية

يمكن تقسيم البرمجة الهيكلية إلى العديد من الانواع فيما يلى بعضها :

البرمجة المعيارية Modular programming: نمط برمجة يقسم برنامجًا كبيرًا إلى وحدات أصغر مستقلة يمكن اختبارها وصيانتها وإعادة استخدامها بسهولة.

البرمجة الإجرائية Procedural programming : يتم تعريف الواحدات او Modules هنا على أنها إجراءات او دوال والتى يتم إستدعاءها فى اي وقت مع تمرير مجموعة من المعاملات لأداء مهمة معينة.

البرمجة كائنية التوجه Object Oriented Programming: يعرّف البرنامج على أنه مجموعة من الكائنات أو الموارد التي يتم إرسال الأوامر إليها. وإليك مثال بسيط لتفهم الفرق بينهم، قد يقول المبرمج الإجرائي “Print (object)” بينما قد يقول مبرمج OOP على الجهة الاخرى object.print اي يطلب من الكائن ان يطبع.

البرمجة المدفوعة بالحدث Event Driven programming: نموذج برمجة يركز على الأحداث واستجابة البرنامج لتلك الأحداث.

اشترك فى القائمة البريدية

عن الكاتب

شارك على وسائل التواصل

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *