☰ خطة العام · تكنولوجيا المعلومات والاتصالات (بالعربية)

بوابة OR في ⁦VB.NET⁩ وPHP

الأسبوع 12 · الوحدة ٢ الموضوعان الخامس والسادس: محاكاة بوابة OR بلغة VB.NET وبلغة PHP · 3 دروس
1

محاكي OR: ما الذي يتغير عن AND؟

ICT Secondary 3 Term 1, Unit 2, Topics 5–6: pp. 48–64
الهدفقل أي أجزاء محاكي AND تبقى كما هي في OR، وأي جزء من كود النقر يتغير.
كلمات جديدة
تحميل النافذة ⁦(window load)⁩ · الكود الذي يعمل مرة واحدة حين تُفتح النافذة ويضبط الحالة الابتدائيةكود النقر ⁦(click code)⁩ · الكود الذي يعمل حين يُنقر مفتاحIf الداخلية ⁦(inner If)⁩ · جملة If مكتوبة داخل جملة If أخرىالحالة (state) · ما تعرضه الأدوات الآن: النصان والمصباح
الشرح

يكاد كل شيء في محاكي OR يُنسخ من الأسبوع التاسع. للنافذة الأدوات نفسها: زران SwitchA وSwitchB وصندوق المصباح LampBox. والحالة الابتدائية نفسها: المفتاحان Off والمصباح مطفأ. وكود التحميل والمساعد الصغير ShowLamp لا يتغيران. ما يتغير هو كود النقر فقط، وفيه الجزء الذي يقرر حالة المصباح فقط. فقاعدة AND تحتاج المفتاحين On، فحين يُشغَّل A يجب أن ينظر الكود إلى B أولًا: وهذه هي If الداخلية. أما قاعدة OR فتحتاج مفتاحًا واحدًا على الأقل On. فحين يُشغَّل A يمكن أن يضيء المصباح فورًا، لأن مفتاحًا واحدًا On يكفي، ولا حاجة إلى النظر في B. وحين يُطفأ A لا ينبغي أن يُطفأ المصباح إلا إذا كان ⁦B Off⁩ أيضًا، فتنتقل If الداخلية إلى فرع Off ويتغير اختبارها. وكود SwitchB هو الصورة المرآة مرة أخرى، مع تبديل A وB.

النقر على A وكان Aمحاكي ANDمحاكي OR
Off (يصير On)يضيء فقط إذا كان ⁦B On⁩ (If داخلية)يضيء فورًا
On (يصير Off)يُطفأ فورًايُطفأ فقط إذا كان ⁦B Off⁩ أيضًا (If داخلية)
النقر على Bصورة مرآة لـ Aصورة مرآة لـ A
أمثلة محلولة
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        If SwitchB.Text = "Off" Then
8            ShowLamp(False)
9        End If
10    End If
11End Sub
Output
On Off -> lit
كود النقر للمفتاح A في محاكي OR. وسطر الناتج هو الحالة بعد نقرة واحدة على A من الحالة الابتدائية.
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        If SwitchB.Text = "On" Then
5            ShowLamp(True)
6        End If
7    Else
8        SwitchA.Text = "Off"
9        ShowLamp(False)
10    End If
11End Sub
للمقارنة، كود النقر للمفتاح A في محاكي AND في الأسبوع التاسع. ابحث عن If الداخلية: إنها في الفرع الآخر.
من ⁦(A, B)⁩نقرة على A تعطينقرة على B تعطي
⁦Off, Off⁩⁦On, Off⁩ (مضاء)⁦Off, On⁩ (مضاء)
⁦On, Off⁩⁦Off, Off⁩ (مطفأ)⁦On, On⁩ (مضاء)
⁦Off, On⁩⁦On, On⁩ (مضاء)⁦Off, Off⁩ (مطفأ)
⁦On, On⁩⁦Off, On⁩ (مضاء)⁦On, Off⁩ (مضاء)
إلى أين تقود نقرة واحدة في محاكي OR؟ كل حالة جديدة تطيع قاعدة OR: يضيء المصباح حين يكون نص واحد على الأقل On.
نشاط الفصل

اكتب كود النقر للمفتاح SwitchB في محاكي OR بتبديل موضعي A وB في كود SwitchA. ثم قل في جملة واحدة ماذا تفحص If الداخلية في كود OR.

تدرّب
1
أي أجزاء المحاكي تبقى كما هي في AND وOR؟
2
حين يُنقر A وكان Off، ماذا يفعل كود OR بالمصباح؟
3
حين يُنقر A وكان On، متى يُطفأ مصباح OR؟
4
أين تقع If الداخلية في كود AND وأين في كود OR؟