authentication required
طرق البرمجه
<!-- / icon and title --><!-- message -->

البرمجة الإجرائية و البرمجة البنيوية

كانت البرمجة الإجرائية (Procedural Programming) و تعني هي سلسلة من الإجراءات المنفذة على مجموعة من البيانات . ثم ابتكرت البرمجة البنيوية (Structured Programming) لتأمين مقاربة منظمة لهذه " الإجراءات " تسمح بمعالجة كميات ضخمة من البيانات .

البرمجة البنيوية:-

جوهر البرمجة البنيوية و باختصار شديد جدا هو مبدأ " فرق تسد " . فالمهمة المعقدة تنقسم إلى مجموعة من المهمات الأصغر إلى أن تصبح صغيرة كفاية و مستقلة كي تنجز بسهولة

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

1. احتساب أجر كل عامل .

2. تعداد العمال .

3. جمع الأجور .

4. تقسيم المجموع على عدد العمال .



لكن عملية جمع الأجور يمكن تقسيمها إلى :-

1. الحصول على سجل كل عامل.

2. معرفة الأجر .

3. إضافة افجر إلى المجموع العام .

4. قراءة سجل العامل الثاني .



و يمكننا الحصول على سحل العامل كما يلي:-

1. فتح ملف العمال.

2. الذهاب إلى السجل الصحيح .

3. قراءة المعلومات من القرص .



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

ابتكر المبرمجون الإجرائيون الذين يعتمدون أسلوب البرمجة الإجرائية (Procedural Programming) حلولا متطورة للمشاكل التقليدية ، لكن هذا عمليا ليس عمليا ، و لكأنهم يعيدون اخترع الدولاب . إن المرونة تعني بناء مقومات و ذات صفات واضحة يمكن توليفها في أي برنامج عند الحاجة .

تصنيف الأشياء من حولنا

تنقسم الأشياء في عالمان المحسوس إلى جماد و نبات و حيوانات . و تنقسم الحيوانات بدورها إلى برية و بحرية و برمائية و تنقسم النباتات إلى أقسما عديدة جدا لا مجال لذكرها هنا .

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

و الاتجاه الجديد للبرمجة يحاول الاستعانة بهذا المنطق في حل مشكلات الحياة العملية حيث تقس الأشياء إلى فصائل (Classes) و تشترك أعضاء كل فصيلة في الصفات و السلوك . و يمكن للمبرمج أن يبني مكتبة من الفصائل (Class Library) أو يستعين بمكتبات جاهزة .

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

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

حيث تجد المبرمج التي يعتمد الأسلوب القديم في البرمجة (البرمجة الإجرائية) يقوم بكتابة النص من البداية و ذلك لعدم توفر النص البرمجي أو لأن المكتبة الحالية لا تقوم بما يرده تحديدا .

إن الاتجاه الجديد في البرمجة و الذي يطلق عليه البرمجة الموجهة نحو الهدف (Object-Oriented Programming)) وقد بدأت لغة سي++ في تطبقيه مما جعل حياة أسهل للمبرمجين .



مبادئ البرمجة غرضيه التوجيه

لو تأمل ت الكزن لوجد أنه يتكون من فصيلة كبيرة أعضاؤها هي المادة (البيانات) و القوانين الطبيعية التي تتحكم في سلوك المادة (الدوال) . من هذه التوليفة الرائعة تنبع المعجزة الإلهية .

و لو تأملت منجزات الإنسان على مر العصور ، أما ما سمينها بالاختراعات من تلفزيون و كمبيوتر و أقمار صناعية لوجدت أنها في الحقيقة ليست إلا استخداما منطقيا لخصائص الفصيلة المعجزة (( المادة و القوانين الطبيعية )) . إن الإنسان في حقيقة الأمر لم يخترع شيئا ، بل هو – بنعمة العقل – يجتهد في اكتشاف القوانين الطبيعية و استخداماها ، فالقانون الطبيعي التي تعمل بع الطائرة و تحلق به ، موجود أصلا قبل صناعة أي طائرة ، و قانون السباحة و الطفو موجود قبل صناعة السفن و الغواصات .

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

إن بداية كل اكتشاف ناجح أو ابتكار مفيد تبدأ بالتأمل في قوانين الطبيعة و محاولة فهمها و الاستفادة منها و محاكاتها .

إن هذا بالتحديد ما فعله (( بايرن ستراوستراب )) عندما فكر في أن يبتكر أسلوبا جديد للبرمجة ، إنه أسلوب محاكاة القوانين الطبيعية .



أخذ هذا الموضوع من :-

1. تعلم سي ++ في 24 ساعة .

2. سي ++ لغة البرمجة الحديثة (مهندس أسامة الحسيني) </div>

  • Currently 105/5 Stars.
  • 1 2 3 4 5
35 تصويتات / 503 مشاهدة
نشرت فى 7 يناير 2006 بواسطة ahmedhasan

ساحة النقاش

عدد زيارات الموقع

799,331