إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    C++ المتغيرات

    مفهوم المتغيرات في C++

    المتغيرات ( variables ) عبارة عن أماكن يتم حجزها في الذاكرة بهدف تخزين بيانات فيها أثناء تشغيل البرنامج.
    النوع الذي نعطيه للمتغير يجعل نظام التشغيل يحدد نوع البيانات الذي يمكن تخزينه في المساحة المحجوزة لهذا المتغير في الذاكرة.

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

    مثال

    main.cpp
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int a = 10;             // قيمته تساوي 10 a هنا قمنا بتعريف متغير إسمه
        cout << "a = " << a;    // a هنا قمنا بطباعة قيمة المتغير
    	
        return 0;
    }
    		

    سنحصل على النتيجة التالية عند التشغيل.

    a = 10
    		

    أساليب تعريف المتغيرات في C++

    في البداية أنواع المتغيرات هي نفسها أنواع البيانات الأولية التي ذكرناها في الدرس السابق و هي:
    int - float - double - bool - char

    الآن, من خلال الأمثلة سنعلمك عدة أساليب يمكنك إتباعها لتعريف المتغيرات و تصغير حجم الكود.


    المثال الأول

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

    تستطيع تعريفهم هكذا.

    int a;
    int b;
    int c;
    		

    و تستطيع إختصار الكود كالتالي.

    int a, b, c;
    		

    المثال الثاني

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

    تستطيع تعريفهم هكذا.

    int a = 10;
    int b = 20;
    int c = 30;
    		

    و تستطيع إختصار الكود كالتالي.

    int a=10, b=20, c=30;
    		

    المثال الثالث

    في حال كنت تريد تعريف عدة متغيرات من نفس النوع و لكن طبيعتهم مختلفة و بدون قيم.
    هنا بالرغم من أن a عبارة عن متغير, b عبارة عن مصفوفة أحادية, و c عبارة عن مصفوفة ثنائية; إلَا أنهم جميعهم نوعهم int.

    تستطيع تعريفهم هكذا.

    int a;
    int b[5];
    int c[3][4];
    		

    و تستطيع إختصار الكود كالتالي.

    int a, b[5], c[3][4];
    		

    مصطلحات مهمة حول المتغيرات في C++

    ركز جيداً على المفاهيم التالية لكي تعرف كيف تصحح الأخطاء التي قد تتعرض لها عند كتابة الكود.

    • عملية تعريف متغير بدون إعطائه قيمة تسمى Declaration.
    • عملية إعطاء قيمة لمتغير تم إنشاؤه سابقاً تسمى Assigning.
    • عملية تعريف متغير و إعطائه قيمة مباشرةً عند إنشائه تسمى Initialisation.

    أمثلة شاملة

    هنا فعلنا Declare لمتغير جديد, أي قمنا بتعريف متغير جديد بدون إعطائه قيمة أولية.

    int a;
    		

    هنا فعلنا Assign لمتغير, أي قمنا بإعطاء قيمة لمتغير كان في الأصل موجوداً.

    a = 10;
    		

    هنا فعلنا Initialise لمتغير جديد, أي قمنا بإنشاء متغير جديد و إعطائه قيمة أولية.

    double Sum = 0;
    		

    ملاحظة

    إذا قمت بتعريف متغير بدون إعطائه أي قيمة, ثم حاولت طباعة قيمته فإن مترجم لغة C++ يقوم بإرجاع آخر قيمة كانت موجودة في الذاكرة مكان هذا المتغير.
    إذاً هذا الأمر يحدث في حال حاولت طباعة قيمة متغير لم تفعل له سوى Declare.

    إرشادات مهمة لمعالجة الأخطاء في C++

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


    الخطأ الأول

    أحياناً يقوم المبرمج بتعريف متغير و عرض قيمته قبل أن يعطيه أي قيمة فيظهر له قيم عشوائية فيه.
    أي المشكلة أنه حاول عرض قيمة متغير فعل له Declare فقط بدون أن يفعل له Assign.

    مثال

    main.cpp
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int a;                  // بدون إعطائه أي قيمة أولية a هنا قمنا بتعريف متغير إسمه
        cout << "a = " << a;    // a هنا قمنا بطباعة قيمة المتغير
    	
        return 0;
    }
    		

    سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل.

    القيمة التي تظهر في المتغير a هي قيمة عشوائية كانت موجودة في الذاكرة كما ذكرنا قبل قليل.

    a = 4360638
    		

    في برنامج CodeBlocks سيظهر لك التحذير التالي الذي يعني أنك تحاول طباعة قيمة متغير لا يملك قيمة في الأساس.

    warning: 'a' is used uninitialized in this function [-Wuninitialized]


    الخطأ الثاني

    أحياناً يقوم المبرمج بوضع إسم متغير بدون أن يكون قد قام بتعريف هذا المتغير من قبل.
    أي المشكلة أنه نسيَ أن يفعل له Declare. من الأساس و هذا الأمر يؤدي لعدم تشغيل البرنامج كله.

    مثال

    main.cpp
    #include <iostream>
    using namespace std;
    
    int main()
    {
        cout << "a = " << a;    // مع أننا لم نقم بتعريفه بالأساس a هنا قمنا بطباعة قيمة
    	
        return 0;
    }
    		

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

    error: 'a' was not declared in this scope

    الخطأ الثالث

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

    الأن عليك معرفة أنه في حال كانت القيمة التي تحاول تخزينها في المتغير أكبر من القيمة التي يمكن تخزينها فيه, سيتم وضع جزء منها في المتغير و ليس القيمة التي كنت تريد تخزينها فيه و بالتالي ستخسر القيمة الحقيقية التي كنت تريد تخزينها. هذا الأمر يجب أن تنتبه له جيداً حتى تخزّن البيانات بشكل صحيح بدون فقدان أي جزء منها.

    الآن, بما أن النوع int يمكنه أن يخزن القيمة 2147483647 كحد أقصى كما شاهدنا في الدرس السابق, لاحظ ما سيحدث إن حاولنا تخزين قيمة أكبر من القيمة القصوى التي يمكن أن يستوعبها فيه.

    مثال

    main.cpp
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int a = 10000000000000;     // و نحن ندرك أنه لا يمكن تخزين هذه القيمة الكبيرة فيه a هنا قمنا بوضع قيمة في المتغير
        cout << "a = " << a;
    	
        return 0;
    }
    		

    سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل.

    القيمة التي تظهر في المتغير a هي جزء من القيمة التي كنت تحاول تخزينها في المتغير كما ذكرنا قبل قليل.

    a = 1316134912
    		

    في برنامج CodeBlocks سيظهر لك التحذير [Overflow] الذي يعني أن المساحة المخصصة للمتغير في الذاكرة لا يمكنها أن تستوعب القيمة التي تحاول تخزينها فيه.

    warning: overflow in implicit constant conversion [-Woverflow]

    في الدرس التالي سنتعرف على الرموز التي يمكن أن نستخدمها في الكود و التي تسمى بالعوامل.

    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب