بسم الله الرحمن الرحيم

في الدرس السابق تحدثنا عن عدة نقاط التي تمثل مقدمة عن البرمجة 
تحدثنا فيه عن مفهوم البرمجة و عن نماذج البرمجة وناقشنا احد نماذج البرمجة من نماذج البرمجة الغير منتشرة وهو نموذج البرمجة الغير منظمة يجب الإطلاع علي الدرس السابق لفهم الدرس للإطلاع اضغط هنا
سنناقش اليوم نموذج اخر من البرمجة وهو نموذج البرمجة المنظمة 
حسنا درس اليوم طويل جدا فقوموا بتجهيز مشروبكم المفضل واقرأوا هذا الدرس بتركيز شديد



Lecture 2 :

في البداية سنبدا بالبرمجة المنظمة Structured programming
تعتبر البرمجة المنظمة مشابهه للبرمجة الغير منظمة في انها تعد احدي نماذج البرمجة الإلزامية 

قامت البرمجة المنظمة من الحد من استخدام امر GOTO 
حسنا دعنا نوضح قليلا 
كما قلنا في الدرس السابق ان نموذج البرمجة الغير منظمة يكون فيها كل سطر في الكود معنون Labeled حيث يقوم البرنامج بالقفز الي اي سطر في البرنامج وتنفيذه 

اما البرمجة المنظمة قامت بتقليل استخدام امر GOTO وهذا بفضل ما يسمي اساليب ومنهجيات البرمجة المنظمة

اساليب البرمجة المنظمة :
تتبع البرمجة المنظمة في وظيفة عملها علي ثلاث منهجيات 
المنهجية الأولي : وضعه عالم الكمبيوتر ( ادسجار دايجسترا ) حيث يعرف بأنه مخترع البرمجة المنظمة 

حيث استطاع ان يصمم منهجية :
 تقوم بتنفيذ الكود من اعلي الي اسفل 
حيث وفرت هذه المنهجية اداء عالي للكود وجعل الكود اكثر تنظيما وجعله اكثر وضوحا
نشر ( ادسجار دايجسترا ) في مقاله عام 1975 ان 
( لغة Cobol تقوم بشل العقل ) وانها غير عملية ابدا 
حيث تبعا لهذه المنهجية يتم تقسيم الكود او هيكل الكود الي
عدة هياكل جزيئية بهذه الطريقة يمكن فهم البرنامج من خلال فهم كل جزء لوحده وعزل المهام 


هذه هي المنهجية الأولي للبرمجة المنظمة هناك طريقة اخري 
مشتقة من المنهجية الأولي وهي تقسيم البرنامج الي برامج جزيئية مع وجود مدخل وهذا يعارض فكرة المخرج الواحد 
وهذا كما هو موضح في الصورة الآتية


هناك منهجية اخري متبعة تسمي 
Jackson Structured Programming  JSP
وهي بإختصار شديد تعتمد علي محاذاة البيانات المنظمة مع اجزاء البرنامج 
تنقسم هذه المنهجية الي 3 اجزاء : 
Sequence :
وهنا يقصد بها ترتيب الأوامر ترتيب تسلسلي منظم من اليسار لليمين




Selection :
تقصد بها تنفيذ مجموعة الأوامر اعتماداً علي حالة البرنامج او بمعني آخر تنفيذ الشروط if , switch

Repetition : 
وتقصد بها تنفيذ اوامر محددة للكود وعمل تكرار لكود معين
والتي يقصد بها الحلقات التكرارية 
for , while 


اعلم ان اﻷمر معقد قليلا وصعب الفهم DX 
لكي نستطيع فهم هذه المنهجية يجب ان نأخذ مثال توضيحي 
بلغة C تلك اللغة العظيمة التي سنتعامل معها طول فترة السلسلة 

#include <stdio.h>

int main()
{
    int data =0;
    printf("enter your number :");
    scanf("%d", &data);
    if (data==3){
        printf("success");
    }
    else{
        printf("faild");
    }
    
}

فتبعا لمنهجية JSP 
انشاء متغير و القراءة من المستخدم بيانات يدخل هذا في خانة 
Sequence
وبالنسبة للشرط فهو يدخل في خانة
Selection
اي ان اذا كانت قيمة البيانات التي ادخلها اليوزر تساوي 3 يطبع البرنامج كلمة success
ولو كان خلاف ذلك يطبع faild

في النهاية تعتبر كل هذه النماذج طريقة تفكير تختلف في نظرة وكيفية التعامل المبرمج مع الكود البرمجي 
وكل هذه المنهجيات تتفق في ان الكود ينفذ من اعلي الي اسفل 

ناقشنا بإختصار لكيفية عمل البرمجة المنظمة
اعلم ان الموضوع طويل قليلا ويحتاج للتركيز الشديد

سنناقش في الدرس القادر البرمجة الإجرائية وهي احد نماذج البرمجة الإلزامية 

تصميم : بلال حسان

تعليقات