×

اضغط Enter للبحث

أووبس ... لقد أخطأت في الصفحة
  • العودة الى الصفحة الرئيسية
  • دورة دراسة و تحليل الخوارزميات الجزء الثاني: المتغيرات

    دورة دراسة و تحليل الخوارزميات الجزء الثاني: المتغيرات


    السلام عليكم أصدقائي متتبعي دورة دراسة و تحليل الخوارزميات .
    إن كنت عزيزي القارئ قد غفلت عن الدرس السابق و التمهيدي في هذه الدورة ، فيسعدنا اولا ان تطلع عليه عبر الرابط التالي ، ناقشنا في الدرس السابق ماهية الخوارزميات و الهدف منها و كيف سنستفيد منها في دوراتنا القادمة ، و فهمنا الهدف البرمجي من وراءها ، و الحمد لله لقيت هذه الدورة إستحسان مجموعة مهولة من القراء و المتابعين ، و لذلك ، قررنا ان نحاول تقديم هذه الدورة بشكل يومي ( او توفرت الظروف ) ، لذلك ، إحجز مكانك معنا في هذه الدورة ، و إربط حزام الأمان ، فنحن على وشك أن نأخذك في رحلة في عالم من المقالات المشروحة في عالم الخوارزميات بهذه الدورة المميزة .



    نبذة عن درس اليوم : 

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


     ما هي المتغيرات ؟

    لا شك انك سمعت في إحدى اللغات البرمجية إسم المتغير او Variable ولا شك انك سمعت أيضا ان لها عدة أنواع (متغيرات تقبل قيم نصية مثل Char او String , متغيرات تقبل قيم عددية Integer , double ...) و غيرها من المتغيرات الأخرى ، لكن السؤال المطروح هنا ، ما هي هذه المتغيرات ؟
    دعني اوضح لك عزيزي بدون تعقيد ولا إطالة المتغيرات في لغة البرمجة هي أسماء تستخدم للإشارة و التلاعب بقيم يتم تعيينها لها ، كما انها توفر وسيلة لوضع علامات على البيانات مع إسم وصفي لها و يمكن للمتغيرات ان تكون من أنواع مختلفة .

    أنواع المتغيرات :

    للمتغيرات أنواع أيضا ، فالمتغير كما جاء في إسمه يتغير حسب الحاجة و يتأقلم حسب الكود البرمجي او دعنا نقول انك انت من يجعله يتأقلم حسب الكود البرمجي ، و إليك عزيزي القارئ بعض أهم أنواع المتغيرات مع شرحها و تبسيطها أيضا للقارئ المبتدئ :

    byte (number, 1 byte)
    النوع byte هو متغير عددي يحتوي رقم من 1byte .
    short (number, 2 bytes)
    النوع short هو ايضا متغير عددي يمكنه إحتواء رقم من 2bytes .
    int (number, 4 bytes)
    النوع Int ايضا متغير عدد يمكنه هذه المرة إحتواء رقم من 4bytes .
    long (number, 8 bytes)
    النوع long كذلك متغير يقبل إحتواء أرقام عددية ولكن هذه المرة الرقم من 8bytes .
    float (float number, 4 bytes)
    هذا المتغير يقبل إحتواء أعداد من 4bytes ولكن هذه المرة يقبل الأعداد العشرية (15.22 ...) .
    double (float number, 8 bytes)
    المتغير double هو ايضا شبيه ب float و لكن يستطيع إحتواء أعداد من 8bytes .
    char (a character, 2 bytes)
    هذا النوع من المتغيرات يقبل حرف او رقم أو اي قيمة بشرط ان تكون من 2bytes.
    String(Text)
    يقبل إدراج نص كبير غير محدد في الحجم .
     boolean (true or false, 1 byte)
    يقبل هذا النوع القيم false او true او 0 او 1 و يستخدم بشكل كبير في البرمجة في الحالات الشرطية.

    ستلاحظ أخي الكريم في مجموعة كبيرة من أنواع المتغيرات أعلاه ، ان اكثرها يقبل الأرقام ، و قد يتبادر الى ذهنك سؤال : بما انها تقبل أرقاما ، فلما لا أستعمل متغير واحد رقمي فقط ، يعني من المنطقي أليس كذلك ؟ لما كل هذا التغيير و التنويع في الأنماط إن كانت أكثريتها تحفظ الأرقام ، ببساطة شديدة مجددا ، دعني اشرح لك الأمر بمثال بسيط :
    تخيل معي أنك تكتب شفرة برمجية لحساب مجموع الأرقام من 1 إلى 1000 في هذه الحالة المجموع لن يكون كبيرا جدا (500500) ولن يحتاج لموارد كبيرة من الجهاز لتخزين تلك البيانات (نتحدث عن الرام) ، و لكن إذا غيرنا العملية و دعونا نحسب ضرب الأعداد من 1 الى 20 فقط ، ففي هذه الحالة الرقم سيكون كبير جدا (2.43290200817664E18) و لن تستطيع تخزينه في اي من هذه المتغيرات بشكله العادي هذا ، لذلك اثتاء كتابتك للشفرة البرمجية يجب عليك ضبط هذه الأمور و لا تستهن بها لأنها من الضروريات فكلما كانت الشفرة كبيرة و كنت على سبيل المثال تضع كل المتغيرات من النوع float او double سوف تلاحظ ان الجهاز يتشنج و يصبح بطيء نوعا ما لذلك فالإختيار الصحيح للمتغيرات الجيدة حسبك الكود الخاص بك أمر مهم ، و لا تتجاهله بالمرة .

    مثال للمتغيرات من لغة الجافا : 


    أسماء المتغيرات التي يتم إستخدامها في لغة الجافا قد يكون مختلفا قليلا عن لغات برمجية أخرى ولكن المبدأ يبقى ثابت . 
    ألية عمل المتغيرات :



    دورة تحليل و دراسة الخوارزميات : ألية عمل المتغيرات :


    عند تعريف المتغير في أي برنامج يقوم بحجز منطقة مخصصة  له في ذاكرة الجهاز او الرام و يتم إستخدامها ما دام البرنامج مفتوح و المتغير لم يتم حذفه . يتم حجز المنطقة بسعة المتغبر كاملة مثلا المتغير من نوع Integer يقوم بحجز 4bytes من الذاكرة و double يحجز 8bytes ، لذلك إختيارك لمتغيرات ذات سعة كبيرة بينما انت في حاجة الى متغير ذو رقم ضئيل قد لا يكون حكيما و جيدا بالنسبة لك , و توخى الحذر في تحديد أنواع المتغيرات كما جاء أعلاه من أجل  الحصول على شفرة برمجية نظيفة .

    إدراج قيمة للمتغير :
    المتغير بالتأكيد يمكنه حفظ قيمة من القيم المعطى له ، و هذا هو الأساس من المتغير ، و هذا مثال توضيحي لكيفية إدراج قيمة المتغير ، او ان صح التعبير بلغة بسيطة ، ملأ المتغير ، فلفعل ذلك ،  يكفي تعريف المتغير و تحديد نوعه بعد ذلك و ندرج قيمته بعد علامة  = ، إليك مثال يشرح عملية إدراج قيمة لمتغير من نوع String و متغير من نوع Integer طبقا للغة الجافا : 
    String nom = "MrCharif";
    int age = 21
    لاحظ معي ، انني اولا قمت بإدخال نوع المتغير ( كما أشرت بالأزرق ) و هو أمر يختلف من لغة برمجية لأخرى لكن كما أخبرناكم المبدأ تابث ، ثم بعدها ، دخل إسم المتغير ، و يمكن إختيار أسماء مثل Nom , nom, NoM , Nom1 ، مع الأخذ بعين الإعتبار اللغة البرمجية فبعضها حساس للحروف الكبيرة  ، ثم نضع علامة = و التي تعطي القيمة للمتغير ، ليأتي بعدها اخيرا قيمة المتغير و قد حددناها باللون الأخضر ، و القيمة تختلف حسب نوع المتغير أيضا ، فكما تلاحظ ، أدرجنا الإسم في متغير من نوع String بين علامتي " " ، و هذا ضروري لحفظ قيمة نصية ، بينما لم نقم بذلك في المتغير الثاني ، و الذي يحمل قيمة Integer . 


    نصل معك إذن عزيزي القارئ الى ختام الوضوع الثاني المتعلق بدورة دراسة و تحليل الخوارزميات و الذي كان يدور حول ماهية المتغيرات ، عملها ، انواعها و كيفية إضافته و تعديل قيمها ، نرجو ان تكون قد إستمتعت معنا في هذا الدرس الثاني ، و نعدك بدورس قادمة في هذا المجال ، الى ذلك الحين ، إن كان لك أي إستفسار او سؤال حول هذا الدرس اتركه في تعليق و سنجيبك بإذن الله :) . 

    كاتب المقال

    المحرر: MrCharif

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

    تبرع لصاحب المقال:

    مقالات قد تهمك

    جارٍ تحميل المقالات...