☰ Year plan · Communication Technology (Arabic)

البوابات في القرارات: NAND وNOR وXOR

Week 14 · Unit 2 Topic 10: employing logic gates in life decisions; the book's conclusion; NAND, NOR and XOR named in the unit introduction · 3 lessons
2

اختيار البوابة المناسبة لقاعدة: AND أو OR أو NOT

ICT Secondary 3 Term 1, Unit 2, Topic 10: pp. 82–86
الهدفاختر AND أو OR أو NOT لقاعدة، واكتب جدولها وصيغتها، واختبر القاعدة في PHP و⁦VB.NET⁩.
كلمات جديدة
قاعدة AND · كل الشروط لازمةقاعدة OR · يكفي شرط واحد على الأقلقاعدة NOT · النتيجة عكس الشرطالقاعدة المركبة ⁦(mixed rule)⁩ · قاعدة تحتاج بوابتين مثل ⁦A AND NOT B⁩
الشرح

تسأل المهمة ٣: كيف تتحد الشروط؟ فإذا لزمت كلها فالبوابة AND وصيغتها ⁦Y = A·B⁩. وإذا كفى واحد منها على الأقل فالبوابة OR وصيغتها ⁦Y = A + B⁩. وإذا كانت النتيجة عكس الشرط فالبوابة NOT وصيغتها ⁦Y = ¬A⁩. وتناسبها قراراتنا الثلاثة بالتتابع. فالرحلة تحتاج قسيمة موقعة ومقعدًا شاغرًا: AND. وتُعفى الغرامة إذا أُعيد الكتاب في موعده أو كانت البطاقة ذهبية: OR. ويضيء المصباح الليلي حين لا يكون نهارًا: NOT. وبعض القواعد تحتاج بوابتين. فرشاش الحديقة يعمل حين تكون التربة جافة ولا تمطر؛ وإذا جعلنا A للتربة الجافة وB للمطر كانت الصيغة ⁦Y = A·¬B⁩. وبعد الجدول يأتي الاختبار. يجب أن تعطي دالة PHP أو ⁦VB.NET⁩ الأجوبة نفسها التي في الجدول، صفًا بعد صف. اكتب الدالة وشغّلها على كل صف وقارن.

تقول القاعدةالبوابةالصيغة
كل الشروط لازمةAND⁦Y = A·B⁩
يكفي شرط واحد على الأقلOR⁦Y = A + B⁩
النتيجة عكس الشرطNOT⁦Y = ¬A⁩
شرط وعكس شرط آخرAND مع NOT⁦Y = A·¬B⁩
أمثلة محلولة
Php
1function tripOk(bool $slip, bool $seat): bool {
2    return $slip && $seat;
3}
4function feeWaived(bool $onTime, bool $gold): bool {
5    return $onTime || $gold;
6}
7function nightLight(bool $daylight): bool {
8    return !$daylight;
9}
10
11var_dump(tripOk(true, false));
12var_dump(feeWaived(false, true));
13var_dump(nightLight(true));
14var_dump(nightLight(false));
Output
bool(false)
bool(true)
bool(false)
bool(true)
القرارات الثلاثة دوالَّ PHP. وأسطر الناتج هي جواب الرحلة بقسيمة بلا مقعد، والغرامة لكتاب متأخر مع بطاقة ذهبية، والمصباح في النهار، والمصباح في الليل.
Vb
1Function Sprinkler(dry As Boolean, raining As Boolean) As Boolean
2    Return dry And Not raining
3End Function
4
5Console.WriteLine(Sprinkler(True, False) & " " & Sprinkler(True, True) & " " & Sprinkler(False, False) & " " & Sprinkler(False, True))
Output
True False False False
الرشاش دالةً في ⁦VB.NET⁩ مع سطر اختبار داخل برنامج كونسول صغير. وسطر الناتج هو الجواب للصفوف الأربعة ⁦(dry, raining) = (True, False)⁩ و⁦(True, True)⁩ و⁦(False, False)⁩ و⁦(False, True)⁩.
ABA∧¬B
000
010
101
110
جدول الرشاش. الصف الوحيد الذي يعطي 1 هو تربة جافة بلا مطر.
نشاط الفصل

مروحة بيت زجاجي يجب أن تعمل حين يكون الجو حارًا أو يكون الباب مفتوحًا. اكتب المداخل والمخرج والبوابة والصيغة وجدول الحقيقة. ثم اكتب دالة PHP.

تدرّب
1
تقول قاعدة «يجب إدارة المفتاحين معًا». أي بوابة هي؟
2
تقول قاعدة «يرنّ واحد على الأقل من الإنذارات الثلاثة». أي بوابة هي؟
3
أي صيغة تناسب «يعمل المدفأ حين تكون الغرفة باردة ولا تكون النافذة مفتوحة»، مع A للبرودة وB للفتح؟
4
ماذا تعيد دالة الرشاش حين تمطر وتكون التربة جافة؟