إذا علمت أن A=10 , B=7 , C=2 , D=5 فأوجد ناتج التعبير المنطقي المركب الأتي ؟
A < D OR D <> B AND D – C > 1
نلاحظ أن التعبير المنطقي المركب هو تعبير يحتوي على تعابير حسابية و عمليات مقارنه منطقيه ومعاملات منطقيه وكما أسلفنا في التدوينة السابقة والتي كانت بعنوان : المعاملات المنطقية Logical Operator فان قواعد الأولوية تكون على النحو الأتي :
1. يتم إيجاد التعابير الحسابية أولا وحسب قواعد الأولوية
2. يتم إيجاد ناتج عمليات المقارنة المنطقية حيث يوضع ناتج كل عمليه إما صواب True أو خطأ False
3. يتم تنفيذ المعاملات المنطقية حيث ينفذ معامل NOT ثم معامل AND ثم معامل OR
4. طبعا كما هو معلوم دائما في حال تساوي الأولوية يتم التنفيذ من اليسار إلى اليمين
ملاحظة هامه : هناك مؤشر على صحة الحل وهو أن عدد خطوات الحل = عدد العمليات الحسابية + عدد عمليات المقارنة + المعاملات المنطقية , وفي تعبيرنا يوجد 6 عمليات لذا سيكون عدد خطوات الحل 6 .
1) A < D OR D <> B AND 3 > 1
2) False OR D <> B AND 3 > 1
3) False OR True AND 3 > 1
4) False OR True AND True
5) False OR True
6) True
صيغة أخرى وزارية , أو يمكن أن تأتي على هذا النوع من التعابير المنطقية المركبة وهي :
أكتب العبارات المنطقية الآتية بلغة QBASIC ؟
1) المعدل ( Average ) أكبر من 75 وعلامة اللغة العربية ( Arabic ) أكبر من أو يساوي 80.
2) كمية الاستهلاك ( Quantity ) أقل من أو يساوي 160 كيلو واط , وسعر الكيلو واط ( Price ) يساوي 31 فلسا.
ملاحظه هامة جدا : إذا أعطاك في السؤال أسماء متغيرات فيجب التقييد بها كما هي ولا يجوز استخدام غيرها , أما إذا لم يحدد لك في السؤال فأنت مخير بفرضها مع مراعاة نوع المتغير حسب القيمة المطلوبة في السؤال ( أي إذا كانت رمزية , عددية ).
الحل :
1) Average > 75 AND Arabic >= 80
2) Quantity <= 160 AND Price = 31