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

الموضوع: سلسلة دروس تعلم البرمجة بلغة C++

  1. #1
    التسجيل
    30-05-2003
    الدولة
    Canada
    المشاركات
    75

    سلسلة دروس تعلم البرمجة بلغة C++

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

    مرحبا بك في سلسلة تعلم البرمجة بلغة C++، والتي تعد اللغة الاولى في مجال تطوير وبرمجة الالعاب، فمثلما قال الاخ مودي سان، لا توجد أي شركة تطوير العاب الا ولغة C++ هي اللغة الاساسية في تطوير العابها، لذلك، لغة سي++ هي مهمة لكل من يطمح صنع العابه الخاصة بشكل احترافي

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

    أحب أشير هنا إلى بعض الأمور ، وهي إن الدروس المكتوبة هنا مقدمة خصيصا لمن لا يملك أدنى فكرة عن البرمجة بلغة C++ ، إضافة إلى إن الدروس هذه تعمل على C++ ANSI، لضمان عمل الاكواد البرمجية على جميع أنظمة التشغيل.
    ملاحظة (1): باب الأسئلة والاستفسارات مفتوح للجميع، ولكن رجاءً، تأكد من قرائة الدروس بشكل جيد قبل السؤال، تأكد من أنك قد قرأت كل حرف من الدرس، وفي حالة لو استعصى أي شيء عليك، يمكنك مراسلتي على بريدي التالي: ahmeddangerman@gmail.com ، أو عن طريق كتابة إستفسارك مباشرة على هذا المنتدى.

    ملاحظة (2) : جميع الدروس الموجودة قد تم تنفيذها على برنامج – او المصرف - Microsoft Visual C++ 2008، لتحميل البرنامج، ادخل الرابط التالي هنا .

    الدرس الأول: مدخل في علم البرمجة بلغة C++ .


    صنع أول مشروع برمجي

    يفترض بك الآن انك قد انتهيت من تحميل وتثبيت البرنامج الخاص بالتطوير بلغة C++ ، إن كنت لم تفعل بعد، فعد لقراءة الدرس بعد انتهائك من التثبيت.

    لعل أفضل طريقة لتعلم البرمجة، هي البدأ بكتابة البرامج مباشرة، لذا، دعونا من المقدمات الطويلة والتي لا فائدة منها، ولبدأ ببناء أول مشروع، سيتم شرح كيفية إنشاء مشروع في ببرنامج Microsoft Visual C++ .

    أنت الآن بحاجة لفتح مشروع جديد، ولفعل ذلك في برنامج Microsoft Visual C++ اتبع الخطوات التالية:-

    من القائمة في أعلى الصفحة اختر:
    File => New => Project

    وفي القائمة التالية، من اليسار عند Project type، اختر آخر كلمة General . بعدها Empty Project ، واختر أي اسم تريده لمشروعك، وليكن باسم my first program .

    الآن، عند أقصى اليسار لدى Solution Explorer، ستجد 3 ملفات، حاليا سنستخدم Source Files، انقر بزر الفأرة الأيمن على هذا الملف واختر على Add => New item ، بعدها اختر C++ file . وسمه بأي ملف تشاء.

    الآن، أدخل الشيفرة التالية:-

    كود PHP:
    #include <iostream>
    using namespace std;

    int main ()
    {
    cout << "Hello World!";
    return 
    0;

    الآن اضغط زر F5 ليتم بناء أول برنامج لك، الإخراج سيكون كالتالي:-

    Hello World!Press any key to continue . . .

    مبارك عليك، لقد طورت أول برنامجٍ لك في علم البرمجة ! والآن مع الشرح التفصيلي، سيتم الشرح بشكل غير مرتب حتى يسهل الشرح: -

    int main ()
    int main()، الدالة الرئيسية main function والتي يبدأ أي برنامج منها، يجب أن يحتوي أي برنامج بلغة C++ على دالة رئيسية واحدة في كل برنامج، القوسين { و } يمثلان متن الدالة، بمعنى اوضح أن القوس { يمثل بداية الدالة، و القوس } يمثل نهاية الدالة (سيتم عن الدوال في موضوع مفصل إن شاء الله في وقت لاحق).

    cout << "Hello World!";
    يطلق على هذا السطر بـجملة Statement. هدفها هو إخراج جملة Hello world! ، بداية الكلمة cout تعني إخراج، والإخراج المطلوب هنا الجملة Hello World! ، بينما << تعني اتجاه الخرج، والآن، لكي تعرض أي جملة في برنامجك الخاص يجب أن تبدأ الجملة بعلامة تنصيص، في اول الجملة و آخرها، أما الرمز بعد علامة التنصيص الثانية ; فالمقصود منه أن الجملة انتهت، أي جملة في لغة C++ يجب أن تنتهي بهذا الرمز .

    #include <iostream>
    using namespace std;

    #include، تسمى هذه الجملة بالمعالج المسبق، الغرض من هذه الكلمة هو استدعاء المكتبات الموجودة بلغة C++ ، المكتبة المستدعاة هنا هي iostream ، لو لم يتم استدعاء هذه المكتبة لما تمكنت من استخدام cout لأجل عرض جملة Hello World! على الشاشة، أياً يكن، هناك العديد من المكتبات الموجودة أساسا مع أي مصرف للغة C++ لكل منها غرض لتأديته.

    return 0;

    هذه الجملة تطلب من المصرف العودة للقيمة صفر، أي اخرج من البرنامج.

    بالنسبة لـ using namespace فهي تعني فضاء الأسماء لـ std ، لو لم يتم وضع هذا السطر، لتوجب علينا كتابة cout هكذا std::cout، بمعنى آخر cout هي في الأصل std::cout
    Press any key to continue . . .

    وهذه الجملة تأتي عند انتهاء البرنامج، وتعني أنه تم الانتهاء من البرنامج.
    والآن، لنعد قليلاً للشيفرة التي كتبناها لصنع البرنامج، ولنظف عليها تعديل بسيط جداً إرجع للشيفرة السابقة وغير حرف c في كلمة cout، اجعله من الحرف الصغير الى الحرف الكبير، ثم ابني البرنامج من جديد. سيحدث خطأ اثناء بناء الشيفرة ، لماذا ؟ لأن لغة C++ هي حساسة لحالة الأحرف، فكتابة cout هي ليست نفسها Cout .

    حتى تعرف اكثر كيف تعمل برامج C++ لنعد من جديد للشيفرة، وقم بالتعديل التالي:-
    كود PHP:
    #include <iostream>
    using namespace std;

    int main ()
    {
    cout << "Hello World!";
    cout << "welcome to c++!";
    return 
    0;

    سيكون الخرج كالتالي:-
    Hello World!welcome to c++!
    ما يزال البرنامج يظهر الجملتين في نفس السطر، ولحل هذه المشكلة يجب علينا اخبار المصرف بدأ سطر جديد لتكون كل جملة في سطر، ولعمل ذلك، سنقوم بالتعديل التالي:-
    cout << "Hello World!\n";
    cout << "welcome to c++!";

    لاحظ نهاية جملة Hello world! هناك رمز جديد علينا وهو \n، الغرض من هذا الرمز هو البدأ بسطر جديد بعد جملة Hello World، وبدون هذا الرمز، سيكمل البرنامج اظهار أي جملة حتى لو كتبت في أمر جديد، الآن سيكون الخرج كالتالي:-
    Hello World!
    welcome to c++!
    والآن لنحذف الجملة الثانية، ولنجعل الجملتين في سطر واحد:-
    cout << "Hello World!\nwelcome to c++!";

    الإخراج سيكون هو نفسه كما في السابق.

    مثال آخر: طباعة مثلث على الشاشة.

    أحد الامثلة المنتشرة في كتب تعليم لغة C++ هو كيفية طباعة اشكال هندسية مبسطة على الشاشة; أحد هذه الاشكال هو المعروض في الصورة التالية :
    *
    ***
    *****
    الشيفرة لهذا البرنامج هي:-
    كود PHP:
    #include <iostream>
    using namespace std;

    int main ()
    {
        
    cout << "     *     \n    ***    \n   *****   \n";

    إلى هنا ينتهي الدرس، موعد الدرس التالي هو يوم الاربعاء القادم إن شاء الله، وسيكون بعنوان المتغيرات والعمليات الحسابية.

    الواجب

    * قم بكتابة برنامج يطبع الجملة التالية في في سطر واحد فقط:-

    hello
    world!
    welcome to
    c++

    السؤال الثاني: بإستخدام الرمز * ، إصنع المزيد من الاشكال الهندسية، إصنع مربع، معين، ومستطيل...

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

    سلام
    لاأدعي التميز، ولكني أسعى إليه

  2. #2
    التسجيل
    16-06-2008
    المشاركات
    132

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    سلمت أناملك عزيزي على كتابة الدرس ^^ .. جاري اعتماد موضوعك كدورة مفصلة للـC++ في دورة محرك الأوغر ^^ ..
    تحياتي لك =) .. وأشكرك من كل قلبي ^^ ..

  3. #3
    الصورة الرمزية kakarot
    kakarot غير متصل عضو مميز في منتدى التسجيلات الإسلامية
    التسجيل
    14-11-2005
    الدولة
    jordan
    المشاركات
    2,620

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    بارك الله فيك على هذه المقدمة

    بس إذا أمكن امر n/ يوضع لكي نبدأ بسطر جديد

    هكذا

    cout << "Hello World!"/n
    ؟؟

  4. #4
    التسجيل
    30-05-2003
    الدولة
    Canada
    المشاركات
    75

    رد: سلسلة دروس تعلم البرمجة بلغة C++

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

    اشكر جميع من مر على الموضوع، واشكر من رد على الموضوع

    [
    كود PHP:
    LEFT]cout << "Hello World!"/n[/LEFT
    لا مايصلح، لازم تكون داخل علامة التنصيص.

    بهذا الشكل:-

    كود PHP:
    cout << "Hello World!/n" 
    لاأدعي التميز، ولكني أسعى إليه

  5. #5
    التسجيل
    28-04-2009
    الدولة
    بلاد الشام
    المشاركات
    720

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    أخي عندي سؤال هذه الدورة للسي ++ أو لبرمجة الألعاب بها ؟؟؟
    لأن مكانها في قسم البرمجة أخي الكريم
    وهل ينفع إستخدام التيربو سي ++ أو أي من منتجات بورلاند فيها

  6. #6
    التسجيل
    30-05-2003
    الدولة
    Canada
    المشاركات
    75

    رد: سلسلة دروس تعلم البرمجة بلغة C++

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

  7. #7
    التسجيل
    30-05-2003
    الدولة
    Canada
    المشاركات
    75

    المتغيرات والعمليات الحسابية

    أنواع حفظ البيانات

    هناك عدة أنواع من البيانات التي يمكن حفظها في الذاكرة المؤقتة للحاسب RAM بلغة C++، منها عدد طبيعي، عدد صحيح، حرف..الخ. سيتم شرح المزيد من التفاصيل في هذا الدرس، لذا إبقى معنا.

    تعريف متغير


    لحفظ عدد صحيح في الذاكرة ، نحتاج لتعريف متغير Variable ، ولتعريف متغير، نقوم بالتعريف التالي:-

    [نوع المتغير] [إسم المتغير] ;
    ونوع البيانات لمتغير لعدد صحيح هو int (إختصاراً لـ integer). لذا، للتعريف عن عدد صحيح نقوم بما يلي :-
    int variable;
    و لو اردنا تعيين قيمة للمتغير نقوم بما يلي:-
    int variable;
    variable = 5;
    هنا استخدمنا عامل التعيين، وهو = لتعيين قيمة للمتغير، يسمى الرمز = بعامل التعيين وليس عامل المساواة بينما عامل المساواة هو == ، ستعرف الفرق اكثر في الفصول القادمة من هذا الكتاب، وتذكر انك بتعريفك لمتغير يعني أنك قمت بحجز مكان في الذاكرة لهذا المتغير، تختلف حجم هذه الذاكرة بإختلاف نوع المتغير.

    تسمية المتغير

    هناك شروط يجب اتباعها لإختيار إسم لمتغير، وهي:-

    • لايمكن أن يبدأ المتغير بغير الحروف الابجدية (A – Z او a - z) أو رمز التسطير السفلي ( _ )، ولكن من بعد الحرف الثاني، من المككن ان تكون التسمية بعدها بعدد.
    • لا يمكن إستخدام المسافة في تسمية المتغير، يمكنك إستخدام عوضاً عن ذلك رمز التسطير السفلي ( _ ).
    • لا يمكن لإسم المتغير أن يكون كلمة محجوزة في لغة C++، سيتم الحديث أكثر عن الكلمات المحجوزة في وقت لاحق.
    • لا يمكن لمتغيرين أن يملكان نفس الاسم وهما في نفس المدى، سيتم مناقشة هذا الموضوع بشكل مفصل في وقت لاحق.

    وهذه بعض النصائح لتسمية متغير:-

    • يفضل ان يكون اسم المتغير له دلالة على فائدته.
    • في حالة أنك إستخدمت للمتغير إسما لأكثر من كلمة، يفضل أن تبدأ أول حرف لكل كلمة بحرف كبير، أو إستخدام لكل كلمة من اول حرف حرف كبير، فيما عدى اول كلمة.
    • مثال: testScore, firstNumber ..الخ.


    انواع البيانات


    الاعداد الصحيحة

    هناك اكثر من نوع للبيانات الرقمية في لغة C++، وهي: short, int, long، جميع هذه الانواع الثلاث المذكورة تستطيع حفظ بيانات من نوع عدد صحيح (ملاحظة: الاعداد الصحيحة هي الي لا تحوي كسور او فاصلة، وتشمل الصفر، و الأعداد السالبة والموجبة)، لكل متغير من هذه المتغيرات حجم يحتاجه للذاكرة، إضافة لكون كل متغير يملك حد معين يمكنه حفظه، تختلف قيمة الذاكرة التي يحتاجها المتغير للذاكرة بإختلاف نوع المصرف الذي تستخدمه ونظام التشغيل الذي تستخدمه، في مصرف Microsoft Visual C++ يحتاج متغير من نوع short الى 2 بايت، و int الى 4 بايت، وأخيراً long الى 4 بايت كذلك، كما ان متغير من نوع int يمكنه حفظ بيانات اكبر من متغير من نوع short، ومتغير من نوع long يمكنه حفظ بيانات اكبر من متغير int .

    الاعداد عائمة النقطة


    المقصود بالاعداد عائمة النقطة Floating point ، هي الاعداد التي تحوي فواصل، مثل 1.55 و 1.99 و 5.66 الخ..
    انواع هذه البيانات : float , double , long double ، حيث flaot هو النوع الاصغر حجما في الذاكرة، وdouble هو الوسط، بينما long double هو الاعلى بينهما.

    البيانات الحرفية


    ولها نوعان، هما char ويحتفظ بقيمة حرف واحد فقط، و string ويمكنه عدة احرف، سواء اكانت جملة، او كلمة.

    نوع البيانات المنطقي bool


    ويأخذ هذا النوع قيمتين فقط، هما true أو false .

    مثال: جمع عددين صحيحين
    كود PHP:
    #include <iostream>
    using namespace std;
    int main()
    {
    int firstNumber;
    int secondNumber;
    int total ;
    cout << "Enter first number: ";
    cin >> firstNumber;
    cout << "Enter second number: ";
    cin >> secondNumber;
    total firstNumber secondNumber ;
    cout << "the total = " << total << endl;

    هناك العديد من الرموز الجديد علينا هنا، لذا، سيتم شرح الجديد.
    في البداية عرفنا متغيرين من نوع int، وهما:-

    int firstNumber;
    int secondNumber;

    ثم استخدما cout لعرض نص يطلب من المستخدم إدخال عدد. بعدها تم وضع الكائن cin ليستقبل العدد المدخول من المستخدم ويعين القيمة للمتغير المكتوب بعد العامل >> .
    اخيراً تم تعيين متغير آخر بإسم total قيمته تعادل قيمة المتغيرين firstNumber و secondNumber . وأخيراً في السطر الاخير:


    cout << "the total = " << total << endl;

    total لعرض قيمة جمع العددين، و endl، تعني البدأ بسطر جديد.
    هذا ما لدي الآن في هذا الدرس، تحدثت في هذا الدرس عن انواع المتغيرات، وكيفية إجراء العمليات الحسابية بشكل مبسط، في الدرس القادم سأتحدث أكثر عن طريقة العمليات الحسابية في C++، إضافة لجمل إتخاذ القرار، if و switch
    لاأدعي التميز، ولكني أسعى إليه

  8. #8
    التسجيل
    21-07-2009
    الدولة
    under world
    المشاركات
    7

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    شكككككككككرا على الدروس الرائعة
    Son of
    Sparda
    $(Dante)$

  9. #9
    التسجيل
    26-01-2004
    الدولة
    مصر
    المشاركات
    395

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    سلمت يداك يا بنى على الدروس السهلة المتميزة اللتى تقدمها الى الأن - انا مع انى مبحبش السى بلاس بلاس لكن سهولة شرحك جعلتنى اكمل قراءة بقية دروسك - عموما لا تحرمنا من ابداعك فى شرح ++C لأن هذه اللغة فعلا هى اللغة الأحترافية رقم 1 الى الأن فى العالم ولا تجد شركة العاب عالمية او شركات برامج لا تستخدمها - تحياتى لك وننتظر المزيد - بالتوفيق

  10. #10
    التسجيل
    06-08-2009
    الدولة
    الجزائر
    المشاركات
    59

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    لطالما اردت تعلم ++c ولكن جميع الدروس التي وجدتها معقدة جدا الا دروسك فلقد أرجعت لي الرغبة بتعلم هذه الغة
    ارجوا ان تكمل ولا تحرمنا من دروسك

  11. #11
    التسجيل
    08-12-2007
    المشاركات
    446

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    مشكووور على الموضوع بس في حوايج مافهمتها :
    بينما << تعني اتجاه الخرج،
    ويش قصدك ؟ وليش cin سمهها عكس cout ؟
    total لعرض قيمة جمع العددين، و endl، تعني البدأ بسطر جديد.
    طيب لو حطينا /n ينفع ؟

  12. #12
    التسجيل
    19-08-2009
    المشاركات
    17

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    هل ستستمر الدورة ام ماذا ؟

  13. #13
    التسجيل
    27-04-2009
    الدولة
    المدينة المنورة
    المشاركات
    89

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    تمام عليك والله شرح حلو و ليس مختصر
    أصلا الدروس للي شفتها مو عادية يضيفولك أشياء مال أمها داعي
    انت شرحك عادي وليس مختصر ولكنه جميل جدا (ماتدري تقرا عامي ولا فصحة)

  14. #14
    التسجيل
    27-04-2009
    الدولة
    المدينة المنورة
    المشاركات
    89

    رد: سلسلة دروس تعلم البرمجة بلغة C++

    أخوي مافي ولا مثال زبط معاي
    كل الأمثله سويتها ودققت فيها 100% ولما أظغط f5 اللي هو build
    تطلعلي شاشة سوده اللي هي cmd وتقفل
    والمثال الثاني اللي هو جمع عددين لما أدخل العدد الأول والعدد الثاني يقفل ومايطلعلي الناتج
    ليش.؟

المواضيع المتشابهه

  1. البرمجة بلغة ASP.Net
    بواسطة : John Adams , في المنتدى العام لتصميم و استضافة المواقع
    مشاركات: 2
    آخر مشاركة: 28-08-2007, 03:11 AM
  2. سلسلة دروس س و ج عن البرمجة
    بواسطة : الحبيب لمين , في مقالات البرمجة
    مشاركات: 0
    آخر مشاركة: 09-08-2006, 12:24 PM
  3. دروس في تعلم الفيجوال بيسك (دروس متتالية)
    بواسطة : Fantasy-Reality , في مقالات البرمجة
    مشاركات: 17
    آخر مشاركة: 10-07-2006, 10:00 AM
  4. دروس في تعلم الفيجوال بيسك (دروس متتالية)
    بواسطة : Fantasy-Reality , في مقالات البرمجة
    مشاركات: 5
    آخر مشاركة: 01-11-2005, 08:11 PM
  5. تعلم البرمجة بلغة COBOL
    بواسطة : PaPEr Cut , في مقالات البرمجة
    مشاركات: 4
    آخر مشاركة: 11-11-2002, 12:04 PM

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

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