الأدوات العلاقية والمنطقية
Operations
ي رجع اس م الأدوات العلاق ية إل
ى العمل يات المختص ة بالق يم الت ي بي نها علاق ات وه و
أج راء عمل يات مقارن ة منطق ية بي ن كم يات حس ابية أو رم زية ، وتك ون نتيجته منطقية
ويك ثر اس تخدام ا لتعاب ير المنطق ية ف ي الجم ل ، (false) أو (true) وه ي أم ا نع م
الشرطية ، والأمثلة الآتية تبين لك ما هو التعبير المنطقي:
جواب أما نعم أو لا
. x= =y : التعبير المنطقي
جواب أما نعم أو لا . matrix > والتعبير المنطقي: 100.0
عل
ى أنه ا ص فر ( 0) وت أخذ النت يجة نع م (false) تع امل النت يجة لا C++ وف ي لغ ة
. (
أية قيمة غير الصفر والمشهور أنها ( 1 (true)
ويبين لنا الجدول التالي الأدوات العلاقية والمنطقية
:
الأدوات العلاقية
الأداة معناها
<
اكبر من
>
اصغر من
=<
اكبر من أو يساوي
=>
اصغر من أو يساوي
= =
يساوي
=!
لا يساوي
١
- الجدول ٥
الأدوات المنطقية
الأداة معناها
حرف العطف واو
) ) And &&
حرف العطف أو
) ) Or ||
unary للنفي) أداة أحادية ) Not !
١
- الجدول ٦
int a=b=
إليك الآن هذه الأمثلة : افرض أن ; 3
أي
0 false نتيجته a < فان التعبير 3
أي
1 true نتيجته a<= التعبير 3
أي
0 false نتيجته a>b التعبير
أي 0 false نتيجته a!=b التعبير
أي 1 true نتيجته a= = b التعبير
جدول الصدق سوف نسوق هذا الجدول كالتالي:-
جدول النفي
!x (not x)
جدول الت
خيير
X||y (x or y)
جدول الجمع
X && y (x and y)
x !y x Y X||y X Y X&&y
F T F F F F F F
T F F T T F T F
T F T T F F
T T T T T T
١
- الجدول ٧
!!
المساعدة على فهم جداول الجمع والتخيير والنفي أعلاه:-
جدول الجمع
:
تعني سما
F&&T تم ثل العس ل ، وبناء على ذلك فان T تم ثل الس م ، وان F تخ يل أن
تعن ي خل ط الس م م ع العس ل والنت يجة س م F&&T كذل ك ، F م ع س م والنت يجة س م أي
فه ي عس ل عل ى عس ل أي أن T&&T أم ا F ين تج ع نها T&&F وكذل ك ، F أي
. T
النتيجة
جدول التخيير:
أم ا بي ن الس م والعس ل
F فالنت يجة مع روفه F||F F والس م F فل و خ يرت بي ن الس م
...T
هي عسل T||T ونتيجة ، T فالنتيجة سوف تكون بالطبع للنجاة عسل F||T
Bowties Operators الأدوات الدقيقة
ع ن س ائر اللغ ات الراق ية م ثل ف يجوال بيس
ك وباس كال أنه ا تس تخدم C++ تتم يز لغ ة
Binary
والمختص رة م ن [Bit] أدوات دق يقة عل ى مس توى وح دة التخزي ن الأول ية
Digit*
وحدة الت
خزين ) [bit] س ميت ه ذه الأدوات بالدق يقة أو أدوات (الب ت ) لأنه ا ت تعامل مع
الأول ية ) مباش رة ، فحص ا ، وض بطا ، وإزاح ة ، وتس تعمل ه ذه الأدوات مع المعطيات
فقط ، ولا تستعمل مع غيرها من أنواع المعطيات.. char والرمزية int الصحيحة
والجدول التالي يبين الأدوات الدقيقة ووظيفة كل منها:
الأداة عملها
آ
داه أحادية (not) ~
حرف الواو
(و) (and) &
حرف العطف
(و) (or) |
<< إزاحة إلى اليسار
>>
إزاحة إلى اليمين
أو) الاستثنائية ) (xor) ^
١
- الجدول ٨
وكغيرها من الأدوات
، فان الأدوات الدقيقة تتبع قواعد الأولية وحسب الترتيب
التالي:
الأداة أولويتها
~
الأولى
>>
أو<< الثانية
&
الثالثة
^
الرابعة
|
الخامسة
١
- الجدول ٩
أداة النفي (~)
تعم ل ه
ذه الأداة عل ى إب دال الص فر ( 0) بواح د ( 1) أو العك س ، ومع نى ه ذا أنها تضع
مم ثلة ف ي ال نظام الع ددي x 0 مك ان 1 وكذل ك 1 مك ان 0 ، فم ثلا ل و ك ان لدي نا ق يمة
الثنائي التالي (من 8 بت ):-
x قيمة
~x
قيمة
ومع نى النف ي ه نا التضاد بين 0 و 1 في النظام العددي الثنائي (not) ومع نى ~ النف ي
،
فع ندما ت نفى 0 تثب ت ب دلا م نه 1 والعك س ص حيح ، وه ذا يوض حه لك المثال السابق
في جميع مكونات من البت
. ~x بالبت ليصبح x إذ تم (نفي) قيمة
0 0 0 1 1 0 1 0
0 0 0 1 1 0 1 0
أداة الجمع &
المثالي التالي يو
ضح كيفية جمع القيم عند تمثيلها بالنظام العددي الثنائي:
x&y; العملية
بالنظام الثنائي
x قيمة
بالنظام الثنائي y قيمة
X&Y;
الناتج
1
ويعطي 1 + 0 ليعطي 0 ويجمع 1 + 0 ويعطي 0 ، ويجمع 1 + حيث يجمع 0
انظر جداول الصد
ق السابقة) ) T Ù T&T F Ù F&T FÙF&F
أداة الاختيار
|
x|y;
على النحو y و X إذا أردنا استعمال أداة الاختيار مع المثال السابق لقيمتي
x
y
x|y;
الناتج
.
حيث الاختيار بين 0 و 1 هو 1 ، والاختيار بين 1 و 1 هو 1 ، وبين 0 و 0 هو 0
انظر جداول الصد
ق السابقة ) ) T Ù T|F T Ù T|T T Ù F|T
0 0 0 1 1 0 1 0
0 0 0 0 1 0 0 1
0 0 0 0 1 0 0 0
0 0 0 1 1 0 1 0
0 0 0 0 1 0 0 1
0 0 0 1 1 0 1 1
أداة الاختيار الاستثنائي ^
خ
ذ المثال السابق نفسة لترى كيف تؤثر هذه الأداة
x
y
x^y;
الناتج
لاح ظ أن الاخت يار بي ن 0 و 0 نتيج ته 0 ، والاخت يار بين 1 و 0 نتيجته 1 ، وبين 1 و 1
| (OR) تخ تلف ع ن أداة الاخت يار (XOR) ^ نتيج ته 0 ، أن أداة الاخت يار الاس تثنائي
1)
ع ندما يك ون أح د ) true ف ي أن الأول ى حال ة خاص ة م ن الثان ية إذ تك ون نتيج تها
0)
، كم ا ) false وم ا ع دا ذل ك فنتيج تها دائم ا ، true نتيج ته y أو x طرف ي الاخت يار
. 1
هي 1 | فان نتيجة 1 (OR) لاحظت في هذا المثال ، أما في حالة الاختيار العام
0 0 0 0 1 0 0 1
0 0 0 1 1 0 1 0
0 0 0 1 0 0 1 1
أدوات الإزاحة << و >>
و
Basic ق د ت بدو أدوات الإزاح ة غري بة على المبرمج الذي يستخدم لغات أخرى مثل
ال خ . حي ث ين تج ع ن اس تعمال إحداهم ا إزاح ة ق يمة المتغ ير الص حيح .. Pascal
بال نظام الثنائ ي
(بالب ت) يمي نا أو يس ارا ع ددا م ن الخان ات حس ب الطل ب ، وتم لا
الخانات المفرغة من الجهة الموجبة أصفارا ، ومن الجهة السالبة تملا آحادا.
والأمثلة التالية تو
ضح طريقة الاستعمال.
مثال
:
وه ي
23 بالنظام العشري) بالنظام الثنائي ) x ع ند تنف يذها عل ى ق يمة x>> الجمل ة ; 2
فان العملية تتم عل
ى النحو التالي:
x
x>>2;
النتيجة من الإزاحة بمقدار خانتين
( ٢ بت ) لليمين تصبح قيمتها :
5 بالنظام العشري.
. 23 تعطي النتيجة 5 >> وهذا يعني أن ; 2
حيث
23 القيمة المزاحة.
2 عدد خانات الإزاحة المطلوبة لليمين.
لاح
ظ أن الخانتين المفرغتين بسبب الإزاحة لليمين قد ملئتا بمصفرين.
0 0 0 1 0 1 1 1
0 0 0 0 0 1 0 1
مثال على إزاحة قيمة سالبة:
Z = - 50<<2;
Z
Z<<3
إزاحة
( ٢بت) لليسار.
الجدي د ف ي ه
ذا الم ثال أن الإزاح ة لق يمة س البة ين تج ع ن ك ل خان ة مف رغة الق يمة 1
ولي
س 0 كما في المثال السابق.