السلام عليكم أصدقائي متتبعي دورة دراسة و تحليل الخوارزميات .
إن كنت عزيزي القارئ قد غفلت عن الدرس السابق و التمهيدي في هذه الدورة ، فيسعدنا اولا ان تطلع عليه عبر الرابط التالي ، ناقشنا في الدرس السابق ماهية الخوارزميات و الهدف منها و كيف سنستفيد منها في دوراتنا القادمة ، و فهمنا الهدف البرمجي من وراءها ، و الحمد لله لقيت هذه الدورة إستحسان مجموعة مهولة من القراء و المتابعين ، و لذلك ، قررنا ان نحاول تقديم هذه الدورة بشكل يومي ( او توفرت الظروف ) ، لذلك ، إحجز مكانك معنا في هذه الدورة ، و إربط حزام الأمان ، فنحن على وشك أن نأخذك في رحلة في عالم من المقالات المشروحة في عالم الخوارزميات بهذه الدورة المميزة .
نبذة عن درس اليوم :
في دورتنا هذه لمراجعة تحليل و دراسة الخوارزميات ، سنقود قطارة المعرفة هذا بين طيات هذا المجال ، و سنتعرف على كل جزء من أجزاء الخوارزميات على حدة في كل من مواضيعنا القادمة في هذا المجال ، في موضوعنا السابق ، تعرفنا على كينونة الخوارزميات و ماهيتها ، و اليوم سنتعرف على المتغيرات و التي سنشرحها هي الأخرى في فقراتنا القادمة ، المتغيرات كنبذة أولية ، لا غنى عنها في أي لغة برمجة ، فهي ستساعدنا كثيرا في كتابة شفرة برمجية صحيحة و قوية ، الى جانب ذلك ، سنتعرف على أنواع هذه المتغيرات و الهدف من كل نوع .ما هي المتغيرات ؟
لا شك انك سمعت في إحدى اللغات البرمجية إسم المتغير او 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 .
نصل معك إذن عزيزي القارئ الى ختام الوضوع الثاني المتعلق بدورة دراسة و تحليل الخوارزميات و الذي كان يدور حول ماهية المتغيرات ، عملها ، انواعها و كيفية إضافته و تعديل قيمها ، نرجو ان تكون قد إستمتعت معنا في هذا الدرس الثاني ، و نعدك بدورس قادمة في هذا المجال ، الى ذلك الحين ، إن كان لك أي إستفسار او سؤال حول هذا الدرس اتركه في تعليق و سنجيبك بإذن الله :) .
شكرا على المجهودات
ردحذفلنا الشرف بخدمتكم صديقي
حذفشكرا اخي ع المجهود وياريت لو فيه ملف PDF لكل درس وهذا طلب وليس امر وبارك الله فيك
ردحذفيمكنك حفظ الصفحة على شكل PDF .
حذفحبيبنا منشور جميل درس حلو بس لو ممكن تقدم لينا كورس في الاندرويد و برمجه أندرويد
ردحذفالأول اولى اخي الكريم ، كيف يمكننا ان نقدم دورات في مجالات متعمقة و أبسط الأشياء لا ندركها ؟ كل شيئ في أوانه بإذن الله :) .
حذفبارك الله فيكم اخي تم
ردحذفالله يبارك فيك و مرحبا بيك
حذفشكرا كثيرا والله كانستافدو معاك <3
ردحذفلا شكر على واجب هدفنا هو إستفادتكم
حذفلمادا استعملت المتفير int الدي يستهلك byte4 و لم تسعمل متغير يستهلك أقل متل byte أو short
ردحذفترا كلشي ما فهمت من المتغير هو شنو المتغير اصاا بشنو يفيدنا شلون راح نسخدمه
ردحذفالسلام عليكم هل يمكن للكفيف تعلم هذه الخوارزميات أم لا أرجو منكم الرد
ردحذفهل يمكنك وضع بعض الفيديوات التطبيقية ..لانها تقرب المعنى اكثر من القراءة وحداها...وشكرا على مجهوجك الكبيير معنا
ردحذف