الدرس الخامس:++c

Collapse
X
 
  • الوقت
  • عرض
Clear All
new posts
  • faisal552
    عضو متألق

    • Dec 2001
    • 2042

    #1

    الدرس الخامس:++c

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

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

    الإجراء Function هو عبارة عن برنامج فرعي يعمل في البيانات لكي يعود بإحدى القيم بحيث يحتوي

    كل برنامج في لغة البرمجة C ++ على الأقل على إجراء واحد وهو main ( ) حيث أنه عند بدء البرنامج

    في لغة البرمجة C ++ يتم إستدعاء الإجراء main ( ) تلقائياً وقد يستدعي هذا الإجراء إجراءات أخرى

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

    وهذه العملية هي عملية إستدعاء الإجراء وبعد إنتهاء هذا الإجراء يتم إستكمال تنفيذ البرنامج حيث يكون

    إكمال هذا الإجراء من السطر الذي يلي الإجراء ويجب الأخذ بعين الإعتبار أنه كلما كان الإجراء مكتوب بطريقة

    جيدة سيؤدي مهمة محددة يسهل إستيعابها وإن كانت هناك اكثر من مهمة او مهام معقدة يجب تقسيمها إلى عدة

    إجراءات ويتم إستدعاء هذه الإجراءات كل إجراء على حدة .

    أنواع الإجراءات :

    أولاً / إجراءات يعرفها المستخدم نفسه user defined بمعنى أنه يكتبها هو ويقوم بإضافتها للبرناج .

    ثانياً / إجدرات داخلية وهي جزء من المترجم وتدعى built in حيث يتم إضافتها من قبل الشركة المنتجة

    لمترجم اللغة .

    وظيفة الإجراءات :

    الإجراءات وظيفتها العودة بإحدى القيم عند إستدعاءها فقد يتم عرض قيمة معينة عند إستدعاء الإجراء وتنفيذ

    العمل وتدعى القيمة التي تعود بالقيمة المعادة جراء تنفيذ العمل ومن الضرور الإعلان عن القيمة المعادة ولنأخذ

    مثالاً /


    code:--------------------------------------------------------------------------------
    int myFunction ( ) ;
    --------------------------------------------------------------------------------


    هذا الإجراء نعلن فيه عن قيمة عددية صحيحة وكذالك نستطيع إرسال قيم إلى الإجراء وتسمى القيم التي نرسلها

    بالوسائط ونأخذ هذا المثال مثلاً /

    code:--------------------------------------------------------------------------------
    int myFunction ( int someValue float someFloat ) ;
    --------------------------------------------------------------------------------



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

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

    عندما نقوم بإستدعاءها .

    الإعلان عن الإجراءات /

    الإجراءات التي يتم إستخدامها في البرنامج المكتوب بهذه اللغة لابد من الإعلان عنه ومن ثم تعريفه حيث انه عند

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

    الخاصة به والتعريف يقوم بإخبار المترجم عن الكيفية التي يعمل بها الإجراء .

    طريق الإعلان عن الإجراءات /

    للإعلان عن الإجراءات هنالك عدة طرق :

    أولاً / كتابة الإجراء في ملف ومن ثم إستدعاء هذا الملف وتضمينه في البرنامج من خلال الأمر #include

    ثانياً / كتابة الإجراء في نفس الملف الذي يجري فيه كتابة البرنامج دون إستدعاءه من ملف آخر .

    ثالثاً / تعريف الإجراء قبل إستدعاءه بإجراء آخر وسيتم التعريف والإعلان معاً للإجراء.

    مثال على الإجراءات وفكرة إستدعاء الإجراء /

    code:--------------------------------------------------------------------------------

    1 : # incluer < iostream.h >
    2 : void DemonstrationFunction ( )
    3 : {
    4 : cout << " in Demonstration Function \ n" ;
    5 : }
    6 : int main ( )
    7 : {
    8 : cout << " Int main \ n " ;
    9 : DemonstrationFunction ( ) ;
    10 : cout << " Back in main \ n " ;
    11 : return 0 ;
    12 : }
    --------------------------------------------------------------------------------



    يتم تعريق الإجراء DemonstrationFunction ( ) ; من السطر الثاني إلى السطر الخامس

    وعند إستدعاءه سيتم طباعة الأمر على الشاشة ومن ثم يعود البرنامج إلى التسلسل الطبيعي له

    وفي المثال السابق تكون بداية البرنمج من السطر رقم 6 int main ( ) حيث سيطبع احدى النتائج

    وبعد طباعة الرسالة ستم إستدعاء السطر رقم 9 DemonstrationFunction ( ) ; ومن خلاله

    سيتم تنفيذ الأوامر الموجودة في هذا الإستدعاء ومن ثم سيعود البرنامج إلى السطر رقم 6 من خلال

    توجيهه من السطر رقم 10 بالعودة إلى int main ( ) حسث سيطبع الإجراء int main ( )

    السطر الأخير .

    النماذج الأولية للإجراءات /

    الإجراءات الداخلية التي يتم كتابتها من قبل الشركة المنتجة للمترجم نجدها مكتوبة مسبقاً في ملفات البرنامج

    ويتم إستدعاءها عن طريق الامر # include أما الإجراءات التي يتم كتابتها من قبلنا لايد من كتابة نموذج

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

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

    التالي /


    code:--------------------------------------------------------------------------------
    usnig short int Find Area ( int length, int width ) ;
    --------------------------------------------------------------------------------


    سنجد أن usnig short int هي القيمة المعادة من الإجراء

    ونجد أن Find Area هي إسم الإجراء

    وعبارتي length و width إسماء الوسائط

    والعبارة int نوع الوسائط

    ويجب أن يتطابق الإجراء مع نوع النموذج الأولي للإجراء ليتم تعريفه من حيث الإسم والقيمة التي يعود بها

    وإن لم يتطابق الإجراء ونوع النموذج الاولى سنجد أخطاء أثناء الترجمة ولاننسى أن الإجراء إن كان يعود

    بإحدى القيم لابد من إنتهاءه بعبارة return أيضاً كل إجراء لابد أن يشتمل على نوع له وإن لم يشتمل هذا

    الإجراء على نوع القيمة سيكون نوعه int او قيمة عددية صحيحة أيضاً لابد من توضيح النوع للقيمة المعادة

    من الإجراء وإن كان الإجراء لايعود بقيمة فإن نوع القيمة المعادة سيكون void

    أما بالنسبة لبداية ووسط الإجراء سيكون كالتالي :/


    code:--------------------------------------------------------------------------------

    int Area (int length, int width)
    {
    //
    return (length* width)
    }
    --------------------------------------------------------------------------------


    المثال السابق سيوضح انا نوع القيمة المعادة وإسم الإجراء والوسائط في هذا الإجراء وهي كالآتي :


    code:--------------------------------------------------------------------------------
    حيث أن int نوع القيمة المعادة

    و Area إسم الإجراء

    وint length, int width هي الوسائط

    { قوس فتح

    // عبارات

    return كلمة أساسية

    (length* width) القيمة المعادة

    } قوس إغلاق

    --------------------------------------------------------------------------------


    هذه فكرة عامة عن الإجراءات في لغة البرمجة C + + واتمنى أن يكون الشرح واضحاً أتمتى للجميع التوفيق

    ونلتقي في الدرس القادم من هذه الدورة أهلاً بالجميع
    ولكم تحياتي ابو سعود
    الصدق منجاة
  • قائد سباع الأرض
    عضو متألق
    • Sep 2001
    • 4485

    #2
    [c]**^** ( بسم الحليم الخبير ) **^**[/c]

    السلام عليكم ورحمة الله وبركاته ومغفرته ..

    احسنت .. احسن الله لك الاجر ..

    اسعدك الله دنيا واخره ..

    القائد ..

    تعليق

    مواضيع مرتبطة

    Collapse

    جاري العمل...