الجمعة 19 ابريل 2024 أبوظبي الإمارات
مواقيت الصلاة
أبرز الأخبار
عدد اليوم
عدد اليوم

الوظيفة Main أهم مكونات البرنامج بلغة C

الوظيفة Main أهم مكونات البرنامج بلغة C
17 مايو 2007 01:17
في الدرس السابق، قمنا بتنزيل وتثبيت بيئة التطوير المتكاملة Turbo C وتعرفنا على كيفية استخدامها، وفى هذا العدد سنبدأ في التعرف على مفهوم الوظيفة Function أولا قبل أن نبدأ في كتابة أول برنامج لنا بلغة C، وذلك لأن البرنامج في لغة C يتكون من وظيفة رئيسية تسمى main ، لذا يجب أن نفهم الوظيفة أولا حتى نستطيع أن نفهم البرنامج المكتوب بلغة C. ما هي الوظيفة؟ هناك بعض الأمور التي قد نواجهها أحيانا عند كتابة برنامج، ومنها: 1- قد نحتاج لكتابة جزء معين من كود البرنامج في أكثر من مكان في نفس البرنامج، فمثلا إذا كان لدينا رقمان في البرنامج واحتجنا لحساب الجذر التربيعي لكل من هذين الرقمين، نجد أننا سنضطر لكتابة الكود الخاص بحساب الجذر التربيعي مرتين، وذلك حتى نحسب الجذر التربيعي لكل منهما· 2- قد نحتاج لاستخدام جزء من كود خاص ببرنامج معين في برنامج آخر· 3- قد تكون المشكلة المطلوب كتابة برنامج لحلها طويلة ومعقدة، ونحتاج تقسيمها إلى عدة أجزاء، وكل جزء منها يقوم بمهمة معينة، وذلك لتسهيل التعامل مع المشكلة و حلها· وتُستخدم الوظيفة كحل لجميع هذه الأمور· والوظيفة هي مجموعة من الأوامر تؤدي مهمة ما، وموجودة معا في وحدة واحدة يتم تحديد اسم لها ويمكن أن يكون أي اسم نختاره، وتسمى هذه الوحدة Function. وكل وظيفة يمكن أن تحتاج لقيم مدخلات وتسمى Parameters وقد نحصل منها على قيم مخرجات وتسمى Return Type فمثلا الوظيفة الخاصة بحساب الجذر التربيعي تحتاج لمعرفة قيمة الرقم الذي سيتم حساب الجذر التربيعي له و يكون هو الـ Parameters لهذه الوظيفة و تقوم بإرجاع قيمة الجذر التربيعي، و يكون هو الـ Return Type لهذه الوظيفة· وينقسم التعامل مع الوظيفة إلى ثلاثة أقسام، هي: 1- Function Prototype (Declaration) 2 Function Definition 3 Function Call Function Prototype (Declaration) ويشمل تحديد نوع المتغير الذي تقوم الوظيفة بإرجاع قيمته Return Type وتحديد اسم الوظيفة وتحديد نوع المتغير الذي تقوم الوظيفة بأخذ قيمته Parameters، ويتم كتابة نوع المتغير الذي تقوم الوظيفة بأخذ قيمته بين قوسين مكتوبين بعد اسم الوظيفة فمثلا: float squareroot(int); تعني أن الوظيفة تقوم بإرجاع متغير نوعه float والوظيفة اسمها squareroot وتقوم بأخذ متغير من نوع int (أي integer) ونلاحظ أن الـ Function Declaration ينتهي بـ ؛ أي semicolon. و مثلا : void welcome(void); تعني أن الوظيفة التي تسمى welcome لا تأخذ قيم Parameters ولا تقوم بإرجاع أي قيم Return type، حيث إن كلمة void تعني فارغا· و يراعى أن يكون اسم الوظيفة الذي نختاره لا يحتوي على مسافة Space، وأن يكون أول حرف في الاسم هو حرف أبجدي وليس رقما، أما باقي حروف اسم الوظيفة فيمكن أن تكون حروفا أبجدية أو أرقاما أو - Underscore Function Definition وهو عبارة عن الوظيفة نفسها وفيه يتم كتابة الأوامر التي ستقوم الوظيفة بتنفيذها، فمثلا الوظيفة الخاصة بحساب الجذر التربيعي لرقم يكون الـ Function Definition لها كالتالي: float squareroot(int x) { float value; value=sqrt(x); return(value); } و نلاحظ أن السطر الأول يجب أن تتم كتابته بنفس الشكل الذي تمت كتابة الـ Function Declaration به أي يجب أن يكون اسم الوظيفة ونوع الـ Parameter الذي تأخذه و نوع الـ Return Type الذي تقوم بإرجاعه هم نفس الشيء في الـ Function Declaration و الـ Function Definition. كما نلاحظ أن سطر الـ Function Declaration انتهي بـ ; أما أول سطر في الـ Function Definition فلا ينتهي بـ ; ونلاحظ أنه يتم وضع السطور الممثلة لأوامر الوظيفة والتي تسمى بجسم الوظيفة Function Body بين قوسين Braces، ففي السطر الثاني قمنا بفتح القوس { ثم قمنا بكتابة الأوامر التي ستقوم الوظيفة بتنفيذها، وفي النهاية قمنا بإغلاق القوس}، ونلاحظ أن كلا من السطور التي تمثل أوامر الوظيفة تنتهي بـ ؛ و نظرا لأن الوظيفة squareroot تقوم بإرجاع قيمة من نوع float والتي تمثل قيمة الجذر التربيعي، فإنه يجب أن يتم كتابة جملة return(value); وهذه الجملة يجب أن تكون آخر جملة في جمل الوظيفة، أما إذا كانت الوظيفة لا تقوم بإرجاع قيمه أي أن الـ return type لها هو void فإننا لا نحتاج لكتابة سطر الـ return هذا· بهذا نكون قد تعرفنا على أول قسمين من أقسام التعامل مع الوظيفة، و سوف نُكمل في العدد القادم التعرف على القسم الآخر، وكذلك سوف نبدأ في كتابة أول برنامج خاص بنا وهو برنامج سهل وبسيط الهدف منه هو إظهار رسالة على الشاشة هذه الرسالة ممكن أن تكون رسالة ترحيب مثلا (مرحبا بك) أوتهنئة (تهانينا لك·· لقد قمت بكتابه أول برنامج لك بنجاح تامٍ مع اجمل الأمنيات بمزيد من النجاح والتقدم)، أو قد تكون وسيله لتذكيرك بأمر ما كجدول مواعيدك (الساعة الثانية ظهرا لديك ميعاد مع المدير فلا تنسَ)·· فإلي لقاء جديد· إعداد - م·عبير السيد abr_elsayed@yahoo.com
جميع الحقوق محفوظة لمركز الاتحاد للأخبار 2024©