النتائج 1 إلى 4 من 4

الموضوع: ممكن مساعدة لو سمحتم

  1. #1
    التسجيل
    04-04-2005
    الدولة
    الرياض
    المشاركات
    18

    ممكن مساعدة لو سمحتم

    أن طالبة أدرس البرمجة c++اواجة صعوبة في درس الfunction ممكن احد يشرح لي الدرس pleasعندي امتحان الاسبوع الجاي

  2. #2
    التسجيل
    04-04-2005
    الدولة
    الرياض
    المشاركات
    18

    مشاركة: ممكن مساعدة لو سمحتم

    ياناس وييييييييينكم أحد يساعدني بليز مايصير وشلون يعني ماحد يبي يساعدني

  3. #3

    مشاركة: ممكن مساعدة لو سمحتم

    عفوا عزيزتي,


    الfunction وما ادراك ما الfunction. اولا و قبل كل شيء دعنا نتفق على الالفاظ, و نعرب الفنكشن هذا و نسميه "دالة", اسم انوثي رقيق و سبنا من الفنكنشنة!

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

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

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

    في معظم لغات البرمجة, ليست هناك العديد من الفئات, لان كل ما نرى في العالم, كل قطعة من تراب او ذرة, كلها تنتمي الى فئة ما و يستحيل عدها. بدلا من القيام بالمستحيل, قرر المبرمجين ان يضيفو الى لغة برمجة سي بلس بلس فقط ما نحتاجه لتعريف باي فئة اخرى. لدينا فئة char و string و نستخدم تلك لنشكل ما نحتاج من نصوص. فبرامج طباعة العربية, و متصفحي المواقع, و مصحح الاملاء, الخ. كلها تستخدم فقط char و string. هناك ايضا الارقام, مثل الاعداد الصحيحة int, و الاعداد الحقيقية float double, و الاعداد المركبة complex, الخ. نستخدم فقط تلك لنبرمج كل تلك البرامج الهندسية, الاحصائية, و رصد الجو, و التجسس عبر الستالايت, و المحاسبة, الخ.

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

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

    بالطريقة التالية

    كود:
    result function_name (argument)
    {
    
     
    }

    هذا قالب تعريف الدالات, وهو سهل للغاية. function_name هو اسم الدالة الذي نقوم بتعريفها, وعاشت الاسامي. argument, هو المفعول به الذي نريد الدالة ان تعمل عليه, و قد يكون هناك اكثر من ذلك نفصل بينهم بالفاصلة. result هو ما نعيد من نتيجة بعد العملية. وقد تتسائل اين "وظيفة" الدالة؟ بكل تاكيد, الوظيفة تقومين انت بكتابتها بين القوسين المنعطفين او علامتي الحصر { و } لان لا دالتين تقمن بنفس الوظية.

    ال argument هو عبارة عن توئم من المعلومات, اسما و نوعا او فئة. نستخدم الاسم داخل الدالة, بين القوسين. اذا نريد ان نبرمج دالة للضرب الحسابي مثلا, نقول:

    كود:
    int mulitply (int a, int b)
    {
    	return a*b;
    }

    هذا اول كود حقيقي ترينه. في مكان ال result نرى كلمة int وهي تعني ان النتيجة سوف تكون رقما صحيحا, او integer بالانجليزي. في محل ال argument نرى اربع كلمات, تفصل الى قسمين. هذا هو التوءم, الكلمة الاولى تدل على النوع, و الثانية تدل على الاسم. هذا بمثابة دعوة الناس بمناصبهم المهنية والعلمية, العقيد معمر القذافي, الدكتورة نوال السعداوي, الداعية سلمان بن فهد العودة, الخ. هنا ايضا نقول "الرقم الصحيح الف", الرقم الحقيقي ج" النص اسم".

    اذا كانت لدينا دالة تاخذ اعمار ثلاثة اطفال و تجمعهم و تعيد المجموع كرقم صحيح, نقول:

    كود:
    int total_age (int age1, int age2, int age3)
    {
       return age1 + age2 + age3;
    }
    نحن نختار الاسامي للدالة و لبيانات الargument, و يكون ذلك اي اسما نريده, طالما لا يتعارض مع اّخر.

    اعلاه ترين اننا نعيد قيمتا كل مرة. مذا اذا لا نريد ان نعيد اي شيئ, مثلا اذا لديك دالة تقوم بايقاف الجهاز و اطفائه, ليس هناك داع لاعادة نتيجة. و اذا كان لديك دالة تقوم فقط بالكتابة الالشاشة, لتخبرك عن حالة ما مثلا, حينها تستطيع ان تقول "لا اريد اعادة قيمة من هذه الدالة" باستخدام النوع void:

    كود:
    void print_status (int status)
    {
    	 cout << "Status is: "<< status;
    }
    لم نستخد عبارة اعادة النتيجة return لاننا لا نعيد شيئا.

    ايضا, اذا لا تحتاج الدالة لاخذ اي "مفعول به" و لها كل ما تحتاجه, فيمكننا الغاء الargument نهائيا مستخدمين نفس الفئة void:

    كود:
    void print_hello (void)
    {
    	cout << "Hello there";
    }

    و هكذا, و عذرا اذا اطلت او اذا لم تفهمي عربيتي. اساليني اي شيئ قد تتسائلي عنه.

  4. #4
    التسجيل
    04-04-2005
    الدولة
    الرياض
    المشاركات
    18

    مشاركة: ممكن مساعدة لو سمحتم

    مشكوررررررررررر ويعطيك الف عافية

    كفيت وفيت

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •