R333T
05-05-2024, 08:52 AM
رحلة في عالم البرمجة: إتقان أساسيات البرمجة وتطبيقاتها باستخدام لغة C++
# الفصل 0 : تمهيد
اليوم سنشرح مبدا مهم جدا الAssignment والInitialization
لنشرع على بركه الله
بعدة طرق، أكثر الoperator إثارة للاهتمام هي العملية الassignment، المُمثلة بعلامة يساوي. إنها تُعطي value جديدة لvariable. على سبيل المثال:
int a = 3;
تبدأ بالقيمة
a
يساوي
3.
a = 4;
القيمة
3
(تصبح 4).
int b = a;
b
تبدأ بنسخة من قيمة a(أي 4).
b = a+5;
b
تحصل على القيمة a+5 (أي 9).
a = a+7;
a
تحصل على القيمة a+7 (أي 11).
هذا الassignment الأخير يستحق الانتباه.
أولاً وقبل كل شيء، يوضح بوضوح أن علامة يساوي لا يعني يساوي بالتأكيد، a لا تساوي a+7.
إنه يعني الassignment، أي وضع قيمة جديدة في متغير. ما يتم لـ a=a+7 هو ما يلي:
أولاً، احصل على قيمة a؛ وهي العدد الصحيح 4.
ثم، أضف 7 إلى هذا الرقم 4، مما يعطي العدد الصحيح 11.
أخيراً، ضع هذا الرقم 11 في a.
يمكننا أيضًا توضيح الassignment باستخدام الstrings:
string a = "alpha";
a
تبدأ بالقيمة "alpha".
a = "beta";
a
تحصل على القيمة "beta" اي (تصبح "beta").
string b = a;
b
تبدأ بنسخة من قيمة a (أي "beta").
b = a +"gamma";
b
تحصل على القيمة a زائد"gamma" (أي "betagamma").
a = a+"delta";
a
تحصل على القيمة
a+"delta"
(أي "betadelta").
نستخدم "تبدأ ب" starts out with
و "تحصل على" gets
لتمييز عمليتين متشابهتين، لكن منطقيًا مُختلفتين:
التهيئة Initialization: إعطاء متغير قيمته الأولية.
التخصيص Assignment: إعطاء متغير قيمة جديدة.
من الناحية المنطقية، الAssignment والInitialization مختلفان.
في المبدأ، الInitialization دائمًا ما تجد المتغير فارغًا.
من ناحية أخرى، الAssignment (في المبدأ) يجب أن يُفرغ القيمة القديمة من المتغير قبل وضع القيمة الجديدة.
يمكنك أن تفكر في المتغير كصندوق صغير والقيمة كشيء ملموس، مثل عملة، تضعه داخله.
قبل الInitialization، الصندوق فارغ، ولكن بعد الInitialization يحمل دائمًا عملة بحيث لوضع عملة جديدة، يجب عليك (أنت، أي مُشغّل العملية الAssignment) أن تقوم أولاً بإزالة القديمة ("تدمير القيمة القديمة").
الأمور ليست حرفيًا بهذا الشكل في ذاكرة الحاسوب، لكنها ليست طريقة سيئة للتفكير في ما يحدث.
https://www.youtube.com/playlist?list=PLmOrGO9IfJEcDyuBLOX5AzAqaKxmAKHrq
# الفصل 0 : تمهيد
- 0.1 تعلم البرمجة من خلال التطبيق: بناء أكواد جميلة وفعالة
- 0.2 صقل مهاراتك في البرمجة: التمارين والاختبارات والمشاريع المشتركة
- 0.3 بعد هذه السلسلة: رحلتك نحو إتقان البرمجة
- 0.4 رحلتك في البرمجة: نصائح وتشجيع
- 1.0 مقدمة الفصل 1 : مرحبا بالعالم !
- 1.1 البرامج - Programs
- 1.2 تشغيل و Compile برنامج C++ الأول الخاص بك على نظام التشغيل Windows
- G00d Premium F0nt 4 c0ding M0n0L1sa
- How to instalԼ EmꞴarcadero ЯAD StuĐio 12.1 AtԨens ArꞆhitect V€rsion 29.0.51961.7529 U
- TutoЯial Ԩow instalԼ and activaԷe CLioЍ
- 1.3 ما هو ال preprocess ؟ وما هو ال assemble ؟ وما هو ال compile ؟ وما هو ال linking؟
- 1.4 البرنامج C++ الأول الكلاسيكي - تفسير دقيق بناء ركيزه البرمجه
- 1.5 التجميع - Compilation - فهم التعامل مع Compiler
- 1.6 استكشاف الlinking من الداخل بشكل عميق مع النوعين static و dynamic
- 1.7 مراجعة وتمارين الفصل الأول
- 2.1 الإدخال- input
- 2.2 المتغيرات - variables
- 2.3 المدخلات والنوع - Input and type
- 2.4 العمليات Operations والمشغلات operators
- 2.5 الAssignment والInitialization
https://www.youtube.com/watch?v=1Ra8mIrCK2M
اليوم سنشرح مبدا مهم جدا الAssignment والInitialization
لنشرع على بركه الله
بعدة طرق، أكثر الoperator إثارة للاهتمام هي العملية الassignment، المُمثلة بعلامة يساوي. إنها تُعطي value جديدة لvariable. على سبيل المثال:
int a = 3;
تبدأ بالقيمة
a
يساوي
3.
a = 4;
القيمة
3
(تصبح 4).
int b = a;
b
تبدأ بنسخة من قيمة a(أي 4).
b = a+5;
b
تحصل على القيمة a+5 (أي 9).
a = a+7;
a
تحصل على القيمة a+7 (أي 11).
هذا الassignment الأخير يستحق الانتباه.
أولاً وقبل كل شيء، يوضح بوضوح أن علامة يساوي لا يعني يساوي بالتأكيد، a لا تساوي a+7.
إنه يعني الassignment، أي وضع قيمة جديدة في متغير. ما يتم لـ a=a+7 هو ما يلي:
أولاً، احصل على قيمة a؛ وهي العدد الصحيح 4.
ثم، أضف 7 إلى هذا الرقم 4، مما يعطي العدد الصحيح 11.
أخيراً، ضع هذا الرقم 11 في a.
int a = 3; // a starts out with the value 3
a = 4; // a gets the value 3 (becomes 4)
int b = a; // b starts out with a copy of a’s value (that is,
b = a + 5; // b gets the value a+5 (that is, 9)
a = a + 7; // a gets the value a+7 (that is, 11)
يمكننا أيضًا توضيح الassignment باستخدام الstrings:
string a = "alpha"; // a starts out with the value "alpha"
a = "beta"; // a gets the value "beta" (becomes "beta")
string b = a; // b starts out with a copy of a’s value (that is, "beta")
b = a + "gamma"; // b gets the value a+"gamma" (that is, "betagamma")
a = a + "delta"; // a gets the value a+"delta" (that is, "betadelta")
string a = "alpha";
a
تبدأ بالقيمة "alpha".
a = "beta";
a
تحصل على القيمة "beta" اي (تصبح "beta").
string b = a;
b
تبدأ بنسخة من قيمة a (أي "beta").
b = a +"gamma";
b
تحصل على القيمة a زائد"gamma" (أي "betagamma").
a = a+"delta";
a
تحصل على القيمة
a+"delta"
(أي "betadelta").
نستخدم "تبدأ ب" starts out with
و "تحصل على" gets
لتمييز عمليتين متشابهتين، لكن منطقيًا مُختلفتين:
التهيئة Initialization: إعطاء متغير قيمته الأولية.
التخصيص Assignment: إعطاء متغير قيمة جديدة.
من الناحية المنطقية، الAssignment والInitialization مختلفان.
في المبدأ، الInitialization دائمًا ما تجد المتغير فارغًا.
من ناحية أخرى، الAssignment (في المبدأ) يجب أن يُفرغ القيمة القديمة من المتغير قبل وضع القيمة الجديدة.
يمكنك أن تفكر في المتغير كصندوق صغير والقيمة كشيء ملموس، مثل عملة، تضعه داخله.
قبل الInitialization، الصندوق فارغ، ولكن بعد الInitialization يحمل دائمًا عملة بحيث لوضع عملة جديدة، يجب عليك (أنت، أي مُشغّل العملية الAssignment) أن تقوم أولاً بإزالة القديمة ("تدمير القيمة القديمة").
الأمور ليست حرفيًا بهذا الشكل في ذاكرة الحاسوب، لكنها ليست طريقة سيئة للتفكير في ما يحدث.