في الدرس السابق قمنا بشرح برنامج يجمع بين رقمين صحيحين ولكن كيف ستتم هذه العمليه في الذاكرة ؟ هذا ما سيكون موضوعنا في هذا الدرس : بسم الله نبدأ : * مفهوم الذاكرة : كل متغير مثل number1,number2,sum هو عبارة عن موقع في الذاكرة ، وكل متغير يملك اسم ونوع وحجم وقيمة . فمثلاً الجملة التالية في برنامج (جمع رقمين صحيحين) الجملة: C# number1 = Int32.parse(FirstNumber);
في الدرس السابق قمنا بشرح برنامج يجمع بين رقمين صحيحين
ولكن كيف ستتم هذه العمليه في الذاكرة ؟ هذا ما سيكون موضوعنا في هذا الدرس : بسم الله نبدأ : * مفهوم الذاكرة : كل متغير مثل number1,number2,sum هو عبارة عن موقع في الذاكرة ، وكل متغير يملك اسم ونوع وحجم وقيمة . فمثلاً الجملة التالية في برنامج (جمع رقمين صحيحين) الجملة:
number1 = Int32.parse(FirstNumber);
عندما عرفنا المتغير number1 تم تحديده بواسطة المترجم(compiler) كموقع في الذاكرة . فلنفرض أن المستخدم قام بإدخال قيمة 45 كحرف string للمتغير FirstNumber سيقوم البرنامج بتحويله الى integer ثم يضعه في الموقع number1 كما يلي : ملاحظة : إذا كان يوجد قيمة في الموقع وتم إضافة قيمة أخرى فإن القيمة القديمة سوف تلغى ويصبح قيمة الموقع الرقم الجديد . فمثلاً لو وضعنا أمر في البرنامج بإدخال القيمتين number1 = 45, number2 = 72 واصبحت تمتلك مواقعهم قيم ووضعنا بعدها أمر آخر لإعادة ادخال القيمتين مره أخرى number1= 7,number2 = 5 فلو قمنا بعملية الجمع الآن فإن الناتج سيكون 12 أي أن قيمها الحالية 7و5 وليس القيم السابقة . والآن ستتم عملية الجمع ويوضع الناتج في الموقع sum : ان شاء الله تكون قد تم فهم فكرة الذاكرة في عملية الجمع . ونفس الشيء يحدث عند ادخال الرقم الثاني : C# number2 = Int32.parse(SecondNumber);
عندما عرفنا المتغير number1 تم تحديده بواسطة المترجم(compiler) كموقع في الذاكرة . فلنفرض أن المستخدم قام بإدخال قيمة 45 كحرف string للمتغير FirstNumber سيقوم البرنامج بتحويله الى integer ثم يضعه في الموقع number1 كما يلي :
ملاحظة : إذا كان يوجد قيمة في الموقع وتم إضافة قيمة أخرى فإن القيمة القديمة سوف تلغى ويصبح قيمة الموقع الرقم الجديد . فمثلاً لو وضعنا أمر في البرنامج بإدخال القيمتين number1 = 45, number2 = 72 واصبحت تمتلك مواقعهم قيم ووضعنا بعدها أمر آخر لإعادة ادخال القيمتين مره أخرى number1= 7,number2 = 5 فلو قمنا بعملية الجمع الآن فإن الناتج سيكون 12 أي أن قيمها الحالية 7و5 وليس القيم السابقة . والآن ستتم عملية الجمع ويوضع الناتج في الموقع sum :
ان شاء الله تكون قد تم فهم فكرة الذاكرة في عملية الجمع .
ونفس الشيء يحدث عند ادخال الرقم الثاني :
number2 = Int32.parse(SecondNumber);