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

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


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



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

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


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

    لا شك انك سمعت في إحدى اللغات البرمجية إسم المتغير او 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

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

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

    هناك 14 تعليقًا:

    1. شكرا على المجهودات

      ردحذف
    2. شكرا اخي ع المجهود وياريت لو فيه ملف PDF لكل درس وهذا طلب وليس امر وبارك الله فيك

      ردحذف
    3. حبيبنا منشور جميل درس حلو بس لو ممكن تقدم لينا كورس في الاندرويد و برمجه أندرويد

      ردحذف
      الردود
      1. الأول اولى اخي الكريم ، كيف يمكننا ان نقدم دورات في مجالات متعمقة و أبسط الأشياء لا ندركها ؟ كل شيئ في أوانه بإذن الله :) .

        حذف
    4. بارك الله فيكم اخي تم

      ردحذف
    5. شكرا كثيرا والله كانستافدو معاك <3

      ردحذف
      الردود
      1. لا شكر على واجب هدفنا هو إستفادتكم

        حذف
    6. لمادا استعملت المتفير int الدي يستهلك byte4 و لم تسعمل متغير يستهلك أقل متل byte أو short

      ردحذف
    7. ترا كلشي ما فهمت من المتغير هو شنو المتغير اصاا بشنو يفيدنا شلون راح نسخدمه

      ردحذف
    8. السلام عليكم هل يمكن للكفيف تعلم هذه الخوارزميات أم لا أرجو منكم الرد

      ردحذف
    9. هل يمكنك وضع بعض الفيديوات التطبيقية ..لانها تقرب المعنى اكثر من القراءة وحداها...وشكرا على مجهوجك الكبيير معنا

      ردحذف