المؤثرات العلائقية في C++

 

لا تسير جميع البرامج في تتابع مطرد من بدايتها إلي نهايتها , فالعديد منها تتوقف عن نقاط لتقرر في أي طريق تسير ( كما يفعل البشر أيضا ) , وذلك بناء علي تحقق شروط أو علي نتائج حسابات معينة . وتسمي عبارات البرنامج التي تسبب هذه القفزات في سير البرنامج عبارات تحكم control statements . ويوجد لدينا من هذه العبارات نوعان أساسيان , الدوارات loops , والعبارات الشرطية conditional operators ( أو القرارات decisions )

المؤثرات العلائقية

تستخدم المؤثرات العلائقية relational operators للمقارنة بين قيمتين , ويمكن أن يتم ذلك بالنسبة لأي نوع من المتغيرات , بل وللفئات المعرفة بواسطة المستخدم كما سنري في حينه . والمقارنة تكون إما بعلاقة التساوي , أو أكبر من , أو أصغر من ونتيجة إجراء المقارنة إما أن يكون الشرط متحققا ( true ) أو غير متحقق ( false ) .

ويبين برنامجا التالي استخدام هذه المؤثرات في المقارنة بين المتغيرات , فهو يقارن العدد المدخل بالعدد 10

Relat.cpp

relat.cpp


 


// relat.cpp


// demonstrates relational operators


#include <iostream.h>


 


void main()


   {


   int numb;


 


   cout << "Enter a number: ";


   cin >> numb;


   cout << "numb<10  is " << (numb < 10)  << endl;


   cout << "numb>10  is " << (numb > 10)  << endl;


   cout << "numb==10 is " << (numb == 10) << endl;


   }






وتكون نتيجة الخرج علي النحو التالي :



Enter a number 20



Numb <10 is 0



Numb > 10 is 1



Numb ==10 is 0



وهكذا تري أن نتيجة تظهر علي صورة 1 , أو 0 بحسب أن كانت العلاقة متحققة أو لا . وإليك القائمة الكاملة للمؤثرات العلائقية ومعناها :























المؤثر



معناه



<



>



==



!=



>=



<=



أصغر من



أكبر من



يساوي



لا يساوي



أكبر من أو يساوي



أصغر من أو يساوي











وإليك الأن بعض القيم لمتغيرات , ثم تطبيق المؤثرات العلائقية عليها , وحاول أن تتوقع نتيجة المقارنة , ثم أنظر للإجابة ( نوصي بحجب الإجابة قبل البدء )



// assignment jane = 44;



// assignment statement harry = 12;



//false (jane == harry )



//true (harry <= jane)



//true (jane > harry )



//true (jane >=44)



//false (harry !=12)



//false (7 > harry)





الفرق بين المؤثرين =, و ==



نلفت انتباهك إلب الفرق الجوهري بين المؤثرين المذكورين , فعلامة التساوي مرة واحدة هي لتخصيص قيم للمتغيرات , أما مرتين فهي مؤثر علائقي يختبر شرط التسوي بين قيمتي متغيرين ] له نتيجتان فقط إما 0 أو 1 [ , والخلط بينهما موطن شائع لارتكاب الأخطاء ] خاصة في صياغة الشروط , والتي يستخدم لها المؤثر العلائقي == , وليس = [ .



وللأسف فهي من الأخطاء المنطقية التي لا يلاحظها محول الصياغة , وبالتالي تؤثر علي تنفيذ البرنامج دون إظهار أي’ إشارة لخطأ ما .



لنر الأن كيف تستخدم المؤثرات في تطبيقاتها العملية , وسوف نعرض للدوارات أو لا , ثم القرارات .

التسميات: