☰ Year plan · Communication Technology (Arabic)

بوابة NOT

Week 13 · Unit 2 Topics 7–9: the NOT gate and its simulation projects with VB.NET and PHP · 3 lessons
2

محاكي NOT: زر واحد يقلب المصباح

ICT Secondary 3 Term 1, Unit 2, Topics 7–9: pp. 65–81
الهدفاقرأ كود محاكي NOT، وتتبّع نقراته، واعثر على خطأ.
كلمات جديدة
الحالة الابتدائية ⁦(start state)⁩ · حالة النافذة حين تُفتح: هنا النص On والمصباح مطفأالقلب (flip) · التحول إلى القيمة الأخرى من قيمتينالعكس (opposite) · القيمة المعاكسة: يعرض المصباح عكس المفتاحالخطأ البرمجي (bug) · غلطة في البرنامج تجعله يتصرف تصرفًا خاطئًا
الشرح

لمحاكي NOT زر واحد هو SwitchA وصندوق المصباح. ويبدأ كود التحميل بالنص On والمصباح مطفأ، لأن ⁦NOT 1⁩ يساوي 0. ويقلب كود النقر النص. فإذا كان النص Off صار On وأُطفئ المصباح. وإلا صار Off وأُضيء المصباح. ويعرض المصباح دائمًا عكس النص: On مطفأ، وOff مضاء. قارن بمحاكيي AND وOR. هنا مفتاح واحد، فلا مفتاح آخر ننظر إليه، ولا توجد If داخلية. والمساعد ShowLamp من الأسبوع التاسع هو نفسه. ولتتبّع الكود اكتب جدول النقرات كما سبق. ولأن النقرة الواحدة تقلب النص، تتكرر الحالات في أزواج: بعد عدد فردي من النقرات يكون النص Off والمصباح مضاءً، وبعد عدد زوجي يكون النص On والمصباح مطفأ. ومن السهل أن يقع خطأ بنسخ سطر: فإذا استدعى الفرعان ⁦ShowLamp(True)⁩ بقي المصباح مضاءً حين يعود النص إلى On، وهذا يكسر قاعدة NOT.

محاكي AND أو ORمحاكي NOT
المفاتيحزرانزر واحد
الحالة الابتدائية⁦Off, Off⁩ والمصباح مطفأOn والمصباح مطفأ
If الداخليةنعملا
المصباحيحدده النصانعكس النص الواحد
أمثلة محلولة
Vb
1Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
2    SwitchA.Text = "On"
3    ShowLamp(False)
4End Sub
5
6Private Sub SwitchA_Click(sender As Object, e As EventArgs) Handles SwitchA.Click
7    If SwitchA.Text = "Off" Then
8        SwitchA.Text = "On"
9        ShowLamp(False)
10    Else
11        SwitchA.Text = "Off"
12        ShowLamp(True)
13    End If
14End Sub
Output
On -> unlit
Off -> lit
On -> unlit
كود التحميل والنقر في محاكي NOT. وأسطر الناتج هي الحالة بعد تحميل النافذة وبعد النقرة الأولى وبعد النقرة الثانية.
الخطوةالنقرةالنصالمصباح
0(البداية)Onمطفأ
1نقرةOffمضاء
2نقرةOnمطفأ
3نقرةOffمضاء
4نقرةOnمطفأ
تتبع لأربع نقرات من الحالة الابتدائية. وتتكرر الحالات في أزواج.
Vb
1Private Sub SwitchA_Click(sender As Object, e As EventArgs) Handles SwitchA.Click
2    If SwitchA.Text = "Off" Then
3        SwitchA.Text = "On"
4        ShowLamp(True)
5    Else
6        SwitchA.Text = "Off"
7        ShowLamp(True)
8    End If
9End Sub
Output
On -> lit
صيد خطأ. هنا يعرض الفرعان المصباح مضاءً. وسطر الناتج هو الحالة بعد نقرتين، حين يعود النص إلى On لكن المصباح كان ينبغي أن يكون مطفأ.
نشاط الفصل

تتبّع محاكي NOT لخمس نقرات من الحالة الابتدائية واكتب الجدول. ثم قل ماذا يعرض المحاكي بعد ٢٥ نقرة. استعمل النمط ولا تكتب ٢٥ صفًا.

تدرّب
1
ما النص الابتدائي والمصباح الابتدائي في محاكي NOT؟
2
لماذا لا توجد If داخلية في كود نقر NOT؟
3
بعد ثلاث نقرات من الحالة الابتدائية، ماذا يعرض المحاكي؟
4
ما الخطأ في كود نقر يعرض المصباح مضاءً في الفرعين؟