عامل تشغيل ثلاثي C ++

Aml Tshghyl Thlathy C

'العامل الشرطي وعبارة if-else كلاهما يستخدمان نفس الأسلوب ، لكن العامل الشرطي يجعل تعبيرات if-else قصيرة قدر الإمكان بينما تعبير if-else يشغل مساحة أكبر. في بعض لغات البرمجة ، هناك عامل معروف باسم المشغل الثلاثي يقبل ثلاثة معاملات على عكس المعامل المعتاد أو المعاملين اللذين يتطلبهما معظم المشغلين. إنه يوفر وسيلة لتكثيف كتلة if-else الأساسية. في هذا الدليل ، سيتم تغطية عامل التشغيل الثلاثي في ​​C ++ عبر أمثلة. في بعض الحالات ، يمكن استبدال جملة if else في تطبيقات C ++ بالعامل الثلاثي ، المعروف غالبًا باسم المشغل الشرطي. '

بناء جملة المشغل الثلاثي في ​​C ++

العوامل الثلاثة مطلوبة للمشغل الثلاثي: الشرطي والصحيح والخطأ. نظرًا لأن المشغل الثلاثي يحلل حالة الاختبار ، واعتمادًا على النتيجة ، ينفذ كتلة من التعليمات البرمجية ، تكون الصيغة كما يلي:

# (exp_1)؟ exp_2: exp_3

هنا 'exp' يمثل التعبير. اعتمادًا على نتيجة التعبير ، يُرجع هذا العامل إحدى قيمتين. يتم تقييم التعبيرات 2 و 3 ، ويتم إرجاع قيمهما كنتائج نهائية إذا تم تقييم 'exp_1' إلى قيمة منطقية صحيحة ؛ وإلا ، يتم تقييم التعبير 1 إلى قيمة منطقية خطأ ، ويتم تقييم التعبير 2 ، ويتم إرجاع قيمته كنتيجة نهائية.



مثال 1

فيما يلي مثال مباشر لبرنامج يوضح كيفية استخدام عامل التشغيل الثلاثي لـ C ++.



# تضمين

# تضمين <سلسلة>

استخدام اسم للمحطة ؛

int رئيسي ( ) {
مزدوج المعدل التراكمي ؛
كوت <> المعدل التراكمي ؛

سلسلة student_result = ( المعدل التراكمي > = 1.5 ) ؟ 'تم الاجتياز بنجاح' : 'باءت بالفشل' ؛

كوت << 'أنت ' << student_result << ' الفصل الدراسي.' ؛

إرجاع 0 ؛
}



في البرنامج ، قمنا بملء قسم العنوان الخاص بنا بمكتبات C ++. بعد ذلك ، أضفنا مساحة الاسم std مع الكلمة الأساسية 'using'. ثم تم التصريح بداخله عن المتغير 'CGPA' بنوع البيانات 'double'. في السطر التالي ، طلبنا من المستخدم إدخال CGPA عن طريق طباعة أمر cout. باستخدام الأمر cin ، يضيف المستخدمون CGPA.

ثم أنشأنا متغيرًا آخر ، 'student_result' ، له عامل تشغيل ثلاثي. يحتاج العامل الثلاثي إلى التعبيرات الثلاثة هنا. الأول هو الشرط الذي يتحقق مما إذا كانت CGPA التي أدخلها المستخدم أكبر من أو تساوي '1.5'. إذا كان الأمر كذلك ، ستتم طباعة العبارة 'تم تمريرها' ، أو سيتم طباعة التعبير الثالث. سيتم عرض النتيجة عند استخدام الأمر cout.

لنفترض أن المستخدم يكتب CGPA '3.5'. CGPA> = 1.5 يتم تقييمه إلى صحيح ، وتحقيق المعيار. لذلك ، يتم إعطاء النتيجة المصطلح الأول 'ناجح'.



لنفترض أن المستخدم يكتب 1.00. نتيجة لذلك ، تم تقييم الحالة CGPA> = 1.5 بشكل خاطئ. لذلك ، يتم إعطاء النتيجة الثانية ، 'فشل'.

مثال 2

يمكن تبديل أنواع معينة من عبارات if else في C ++ باستخدام عامل التشغيل الثلاثي. يمكننا تغيير هذا الرمز كمثال. يستخدم المثال الأول البرنامج الشرط if-else ، ويستخدم المثال الآخر البرنامج عامل التشغيل الثلاثي.

# تضمين

استخدام اسم للمحطة ؛

int رئيسي ( ) {

int على واحد = - 3 ؛
كوت << 'على واحد :' < 0 )
كوت << ' عدد صحيح موجب ' ؛
آخر
كوت << ' عدد صحيح سالب! ' ؛

إرجاع 0 ؛
}

لقد أعلنا وأعدنا تهيئة متغير نوع البيانات int 'num' بقيمة عدد صحيح سالب. بعد ذلك ، باستخدام الأمر cout ، تتم طباعة القيمة 'num'. بعد ذلك ، لدينا شرط if-else. داخل الشرط 'if' ، حددنا شرطًا أن يكون المتغير 'num' أكبر من القيمة صفر. إذا أصبح الشرط صحيحًا ، فسيتم طباعة أمر cout بعد الشرط 'if' مباشرةً. إذا أصبح الشرط خاطئًا ، فستتم طباعة عبارة else cout.

نظرًا لأن الرقم قيمة سالبة ، يصبح شرط if خطأ و

بعد ذلك ، قمنا بتنفيذ البرنامج أعلاه مع المشغل الثلاثي. دعنا نتحقق لمعرفة ما إذا كان الشرط if-else والعامل الثلاثي لهما نفس التأثيرات.

# تضمين

# تضمين <سلسلة>

استخدام اسم للمحطة ؛

int رئيسي ( ) {

int MyNum = - 7 ؛
كوت << 'عدد صحيح:' << MyNum < 0 ) ؟ 'عدد صحيح إيجابي!' : 'عدد صحيح سلبي!' ؛
كوت << حصيلة << endl ؛

إرجاع 0 ؛
}

لقد أعلنا عن المتغير 'MyNum' وقمنا بتهيئته بقيمة سالبة. لقد قمنا بطباعة القيمة السالبة عن طريق استدعاء المتغير 'MyNum' داخل أمر cout. بعد ذلك ، قمنا بتعيين متغير آخر على أنه 'نتيجة' بنوع السلسلة. يأخذ متغير النتيجة عملية المشغل الثلاثي. أولاً ، لدينا شرط أن 'MyNum' يجب أن يكون أكبر من صفر. بعد ذلك ، نضع عامل التشغيل الثلاثي '؟'. سيتم تنفيذ التعبيرين الآخرين بناءً على نتيجة الشرط.

نظرًا لأن قيمة العدد الصحيح هي '-7' ، فإن التعبير الثالث ، 'عدد صحيح سالب!' تتم طباعتها على الموجه. هنا ، الإخراج من كلا التطبيقين هو نفسه. ومع ذلك ، يعمل المشغل الثلاثي على تحسين سهولة قراءة التعليمات البرمجية الخاصة بنا ونظافتها.

مثال 3

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

# تضمين

# تضمين <سلسلة>

استخدام اسم للمحطة ؛

int رئيسي ( ) {
int عدد صحيح = 0 ؛
نتيجة السلسلة ؛

نتيجة = ( عدد صحيح == 0 ) ؟ 'صفر' : ( ( عدد صحيح > 0 ) ؟ 'إيجابي' : 'سلبي' ) ؛

كوت << 'عدد صحيح هو' << نتيجة ؛

إرجاع 0 ؛
}

فقط ابدأ بالطريقة الرئيسية للبرنامج. في int main () أنشأنا المتغير باسم 'عدد صحيح' وقمنا بتعيين قيمته على الصفر. بعد ذلك ، قمنا بتعريف متغير آخر ، 'نتيجة' ، بسلسلة نوع البيانات. لقد قمنا بتعيين المتغير 'النتيجة' ، متجاوزًا العامل الثلاثي إليه. الشرط هو أن قيمة المتغير 'عدد صحيح' يجب أن تكون مساوية للصفر 'عدد صحيح == 0'. الشرط الأولي ، (عدد صحيح == 0) ، يحدد ما إذا كان العدد الصحيح هو صفر أم لا. إذا كان الأمر كذلك ، فسيتم إعطاء النتيجة قيمة السلسلة 'صفر'. إذا كانت الإجابة صحيحة. وإلا ، إذا كان الشرط الأول خاطئًا ، فسيتم فحص الشرط الثاني (عدد صحيح> 0).

نعم ، العدد الصحيح المقدم هو صفر ، كما هو موضح في البرنامج النصي. الناتج يولد 'عدد صحيح هو صفر'.

استنتاج

نحن ندرك أن العملية الشرطية هي العملية الثلاثية. بمساعدة هذا المشغل ، يمكننا التحقق من حالة والتصرف وفقًا لها. قد نحقق نفس الشيء باستخدام شروط if-else بدلاً من عامل التشغيل الثلاثي. علمنا هذا البرنامج التعليمي C ++ كيفية استخدام Ternary Operator من خلال بناء الجملة وبرامج الأمثلة. ضع في اعتبارك أنه يجب استخدام العامل الثلاثي فقط إذا كانت العبارة النهائية موجزة.