183 lines
6.8 KiB
Markdown
183 lines
6.8 KiB
Markdown
|
---
|
|||
|
title: Operators
|
|||
|
localeTitle: العاملين
|
|||
|
---
# العاملين :
|
|||
|
|
|||
|
* يسمح لك المشغلون بإجراء عمليات على بياناتك.
|
|||
|
* تسمى البيانات التي يتم تشغيلها باسم _المعامل_ .
|
|||
|
* الأنواع المختلفة لمشغلي C ++ هي:
|
|||
|
* _OPERANDS_ هي البيانات التي يقوم المشغل _بتنفيذها_ بأوامر معينة.
|
|||
|
* المشغلين من 3 أنواع: أحادي (يعمل على 1 المعامل) ، ثنائي (يعمل على 2 معاملات) ، ثلاثي (يعمل على 3 معاملات).
|
|||
|
|
|||
|
### 1 مشغلات الإدخال / الإخراج -
|
|||
|
|
|||
|
* تسمح لك هذه المشغلات بتوجيه الإدخال والإخراج.
|
|||
|
|
|||
|
## مهارة الإدخال ">>" ##
|
|||
|
|
|||
|
يُستخدم لقراءة البيانات من الإدخال القياسي (بيان "cin").
|
|||
|
|
|||
|
## عامل الإخراج "<<"
|
|||
|
|
|||
|
يستخدم لإرسال الإخراج في بيان `cout` .
|
|||
|
|
|||
|
|
|||
|
### 2 المشغلين الحساب -
|
|||
|
|
|||
|
* تتيح لك هذه الشركات إجراء العمليات الحسابية الأساسية.
|
|||
|
|
|||
|
1. _يضيف_ عامل التشغيل `+` المعاملين.
|
|||
|
|
|||
|
2. يقوم `-` المشغل _بطرح_ المعاملتين.
|
|||
|
|
|||
|
3. يقوم المشغل `*` _بضرب_ المعاملتين.
|
|||
|
|
|||
|
4. _يقسم_ `/` المشغل ويعطي _حاصل_ المعاملان.
|
|||
|
|
|||
|
5. _يقسم_ عامل التشغيل `%` ويعطي _الباقي_ من المنطقتين. (أو ، بالنسبة إلى القارئ المائل رياضياً ، `a % b` هو أساسًا نتيجة "mod b"
|
|||
|
|
|||
|
### مثال على استخدام العوامل الحسابية:
|
|||
|
|
|||
|
\`\` \`حزب الشعب الكمبودي
|
|||
|
|
|||
|
|
|||
|
# تتضمن
|
|||
|
|
|||
|
استخدام اسم للمحطة؛
|
|||
|
|
|||
|
انت مين() { int a = 5؛ // المعامل الأول int b = 10؛ // المعامل الثاني
|
|||
|
|
|||
|
` cout << "+ operator " << a+b << "\n"; //Add
|
|||
|
cout << "- operator " << ab << "\n"; //Subtract
|
|||
|
cout << "* operator " << a*b << "\n"; //Multiply
|
|||
|
cout << "/ operator " << b/a << "\n"; //Find Quotient
|
|||
|
cout << "modulus operator " << b%a << "\n"; //Find remainder
|
|||
|
|
|||
|
return 0;
|
|||
|
`
|
|||
|
|
|||
|
} \`\` \`
|
|||
|
|
|||
|
انتاج :
|
|||
|
|
|||
|
`+ operator 15
|
|||
|
- operator -5
|
|||
|
* operator 50
|
|||
|
/ operator 2
|
|||
|
modulus operator 0
|
|||
|
`
|
|||
|
|
|||
|
[جرب الرمز بنفسك! :)](https://repl.it/Mge9)
|
|||
|
|
|||
|
### عامل الزيادة:
|
|||
|
|
|||
|
* `++` يُعرف باسم عامل الزيادة. يزيد من قيمة متغير عدد صحيح بواسطة 1.
|
|||
|
|
|||
|
نوعان من الزيادة:
|
|||
|
|
|||
|
* الزيادة الأولية تقوم أولاً بزيادة القيمة ثم تستخدمها. مثال: `int a ; ++a;`
|
|||
|
* زيادة البريد أولاً يستخدم المتغير ثم زيادة عليه. مثال: `int b; b++;`
|
|||
|
|
|||
|
### مشغل التناقص:
|
|||
|
|
|||
|
* `--` يعرف باسم مشغل تناقص. يقلل من قيمة متغير عدد صحيح بواسطة 1.
|
|||
|
|
|||
|
نوعان من تناقص:
|
|||
|
|
|||
|
* قبل decrement أولاً decrements القيمة ويستخدمها. مثال: `int a ; --a;`
|
|||
|
* يستخدم decrement بوست أولاً المتغير ثم تقليله. مثال: `int b; b--;`
|
|||
|
|
|||
|
مثال لمشغلي الزيادة والانقاص:
|
|||
|
|
|||
|
`#include <iostream>
|
|||
|
using namespace std;
|
|||
|
|
|||
|
int main()
|
|||
|
{
|
|||
|
int a = 3 ,b = 4;
|
|||
|
|
|||
|
// INCREMENT
|
|||
|
cout<< "Value of int a PRE INCREMENTED : " << ++a << "\n";
|
|||
|
cout<< "Value of int b POST INCREMENTED : " << b++ << "\n";
|
|||
|
cout<< "Value of b is changed after using once : " << b << "\n";
|
|||
|
|
|||
|
// DECREMENT
|
|||
|
cout << "\n"; //go to next line
|
|||
|
a = 10; //Assigning a new value to a
|
|||
|
b = 10; //Assigning a new value to b
|
|||
|
cout << "Value of int a PRE DECREMENTED : " << --a << "\n";
|
|||
|
cout << "Value of int b POST DECREMENTED : " << b-- << "\n";
|
|||
|
cout << "Value of b is changed after using once : " << b << "\n";
|
|||
|
|
|||
|
return 0;
|
|||
|
}
|
|||
|
`
|
|||
|
|
|||
|
انتاج :
|
|||
|
|
|||
|
`Value of int a PRE INCREMENTED : 4
|
|||
|
Value of int b POST INCREMENTED : 4
|
|||
|
Value of b is changed after using once : 5
|
|||
|
|
|||
|
Value of int a PRE DECREMENTED : 9
|
|||
|
Value of int b POST DECREMENTED : 10
|
|||
|
Value of b is changed after using once : 9
|
|||
|
`
|
|||
|
|
|||
|
[جرب الرمز بنفسك! :)](https://repl.it/Mgg4/2)
|
|||
|
|
|||
|
### 3: العلاقات العلائقية:
|
|||
|
|
|||
|
* تخبرنا عوامل التشغيل هذه العلاقة بين المعاملات 2 وإرجاع قيمة منطقية (0 أو 1). إذا كانت العلاقة `true` فإنه يؤدي إلى 1. إذا كان realtion غير صحيح فإنه ينتج 0.
|
|||
|
|
|||
|
* المشغلين العلائقيين الستة هم:
|
|||
|
|
|||
|
1. أقل من `<`
|
|||
|
2. أكبر من `>`
|
|||
|
3. أقل من أو يساوي `<=`
|
|||
|
4. أكبر من أو يساوي `>=`
|
|||
|
5. يساوي `==`
|
|||
|
6. لا يساوي `!=`
|
|||
|
|
|||
|
### 4: المشغلات المنطقية:
|
|||
|
|
|||
|
* تجمع عوامل التشغيل هذه بين التعبيرات الخاصة بالعمليات المنطقية. هم انهم :
|
|||
|
|
|||
|
1. منطقية AND `&&` : يتم تقييمها إلى true إذا كانت كلتا القيمتين صحيحة.
|
|||
|
|
|||
|
2. منطقية أو `||` : تقيم إلى true إذا كانت أي قيمة صحيحة.
|
|||
|
|
|||
|
3. منطقي لا `!` : إذا كان _التعبير_ صحيحًا ، فإن _التعبير_ هو false. هذا المشغل يعكس قيمة الحقيقة وهو مشغل وحيد.
|
|||
|
|
|||
|
### 5\. المشغلين الدائمين:
|
|||
|
|
|||
|
عامل التشغيل `?:` هو المشغل الثلاثي ، أو _المشغل الشرطي_ ، لأنه يمكن استخدامه لاستبدال بيان `if else` ، أو حتى `if else if` statement. بناء الجملة:
|
|||
|
|
|||
|
|
|||
|
`condition ? ValueIfTrue : ValueIfFalse` . هذا يوسع إلى:
|
|||
|
|
|||
|
`if(condition)
|
|||
|
ValueIfTrue;
|
|||
|
else ValueIfFalse;
|
|||
|
`
|
|||
|
|
|||
|
إن استدعاء القيمة `ValueIfTrue` هو أمر خاطئ قليلاً ، لأنه لا يلزم أن يكون رقمًا. شيء من هذا القبيل:
|
|||
|
|
|||
|
`condition ? FirstLevelTrueValue : ConditionIfFalse ? SecondLevelTrueValue : SecondLevelFalseValue` يعمل أيضًا ، ويتم تفسيره كإجراء `if else if` :
|
|||
|
|
|||
|
`if(condition)
|
|||
|
FirstLevelTrueValue;
|
|||
|
else if(ConditionIfFalse)
|
|||
|
SecondLevelTrueValue;
|
|||
|
else SecondLevelFalseValue;
|
|||
|
`
|
|||
|
|
|||
|
وبالمثل، متداخلة `if` يمكن أيضا أن تكون البيانات باستخدام مشغلي الثلاثي.
|
|||
|
|
|||
|
_العربة ، أنت الآن تعرف ما هي الرموز. المقالة القادمة ستكون على وشك_ _تهانينا_
|
|||
|
|
|||
|
**حظا سعيدا لكم جميعا**
|
|||
|
|
|||
|
**الترميز سعيدة! :)**
|
|||
|
|
|||
|
**لا تتردد في طرح أي استفسارات على صفحة GitHub [FreeCodeCamp](https://forum.freecodecamp.org/) أو [منتدى FreeCodeCamp.](https://forum.freecodecamp.org/)**
|