تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
2.7 العمليات المركبة للoperators
#1
[صورة مرفقة: 128383135-210777607283724-8238622407463275907-n.jpg]
رحلة في عالم البرمجة: إتقان أساسيات البرمجة وتطبيقاتها باستخدام لغة C++
 
https://www.youtube.com/playlist?list=PLmOrGO9IfJEcDyuBLOX5AzAqaKxmAKHrq





# الفصل 0 : تمهيد # الفصل 1 : # الفصل 2 :   
[صورة مرفقة: mqdefault.jpg]
 
https://www.youtube.com/watch?v=-HDrUeFcr08







العَمْلِيَاتُ المُرَكَّبَةُ للـ operators

تزايد المتغير أي Incrementing a variable (أي إضافة 1 إليه) شائع جدًا في البرامج بحيث توفر C++ بناءً خاصًا special syntax لذلك . 

على سبيل المثال:
++counter


تعني
counter = counter + 1


هناك العديد من الطرق الشائعة الأخرى لتغيير قيمة متغير بناءً على قيمته الحالية.
على سبيل المثال، قد نرغب في إضافة 7 إليه، أو طرح 9 منه، أو ضربه في 2.
تدعم مثل هذه العمليات أيضًا مباشرة بواسطة C++.

على سبيل المثال:
a += 7; // تعني a = a+7
b −= 9; // تعني b = b-9
c ∗= 2; // تعني c = c*2


بشكل عام، لأي اي عملية حسابيه ما بين اثنين من الvariables
a
العملية 
b
تساوي
b

oper، a oper= b تعني a = a oper b.



في البداية، تعطينا تلك القاعدة مشغلات

علامة جمع مع يساوي
علامة طرح مع يساوي
علامة الضرب مع يساوي
علامة قسمه مع يساوي
وعلامة باقي القسمه مع يساوي

+=، −=، ∗=، /=، و %=. 

وهذا يوفر علامة مركبة مضغوطة تعكس فكرتنا مباشرة.

على سبيل المثال، في العديد من مجالات التطبيق، يُشار إلى
علامة الضرب مع يساوي
علامة قسمه مع يساوي


∗= و /=

باسم "التدرج" اي scaling.



 تمرين عملي:

لنفكر في مثال اكتشاف الكلمات المتكررة المتجاورة .
يمكننا تحسين ذلك عن طريق تقديم فكرة عن مكان الكلمة المتكررة في الstring. 
إحدى الاختلافات البسيطة لتلك الفكرة هي ببساطة تعد الكلمات وإخراج العدد للكلمة المتكررة:
int number_of_words = 0;  
string previous; // الكلمة السابقة؛ مبادلة بقيمة ""string current;  
while (cin >> current) {  
    ++number_of_words; // زيادة عدد الكلمات  
    if (previous == current)  
        cout << "word number " << number_of_words << " repeated: " << current << '\n';  
    previous = current;  
}


نبدأ عداد الكلمات لدينا بالقيمة 0. 
في كل مرة نرى فيها كلمة، نزيد تلك العداد:
++number_of_words;


بهذه الطريقة، تصبح الكلمة الأولى رقم 1،
والكلمة التالية رقم 2، وهكذا. 
كنا قادرين على تحقيق نفس الغرض عن طريق القول
number_of_words += 1;


أو حتى
number_of_words = number_of_words+1;


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

 
  good 
قال الخضر لموسى: ما نقص علمي وعلمك من علم الله إلا كنقرة هذا العصفور في البحر.
 
R333T | Full-Stack & DevOps Engineer | Reverse Engineering Enthusiast

Password always: AT4RE

All files shared with AT4RE Community: https://t.me/+92mxXRqUvYNhOTM0


You may view threads: 3892, 3966 & 3972
أعضاء أعجبوا بهذه المشاركة : TruMaker


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم