☰ Year plan · Communication Technology (Arabic)

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

Week 12 · Unit 2 Topics 5–6: OR gate simulation with VB.NET and with PHP · 3 lessons
2

تتبع كود OR نقرة بعد نقرة

ICT Secondary 3 Term 1, Unit 2, Topics 5–6: pp. 48–64
الهدفتتبّع محاكي OR بجدول للنقرات، واعثر على الخطأ في نسخة نسيت If الداخلية.
كلمات جديدة
التتبع (trace) · متابعة الكود بنقرات معطاة وكتابة الحالة بعد كل نقرةحالة اختبار ⁦(test case)⁩ · تسلسل نقرات مخطط له مع الحالة التي تتوقعهاالخطأ البرمجي (bug) · غلطة في البرنامج تجعله يتصرف تصرفًا خاطئًاالحالة المتوقعة · الحالة التي تقول القاعدة إن البرنامج يجب أن يعرضها
الشرح

لتتبّع البرنامج اعمل جدولًا فيه صف لكل نقرة: أي مفتاح نُقر، ونص A، ونص B، والمصباح. والصف الأول هو الحالة الابتدائية. وفي محاكي OR فحص سريع لكل صف: يجب أن يكون المصباح مضاءً تمامًا حين يكون نص واحد على الأقل On. وفي التتبع أدناه لا يكون المصباح مطفأ إلا في الخطوة ٤، حيث النصان Off. والتتبع أفضل وسيلة لصيد الأخطاء. افترض أن المبرمج نسي If الداخلية وكتب ⁦ShowLamp(False)⁩ كلما أُطفئ A. لا يظهر الخطأ في الاختبارات القصيرة، لكن مع النقرات A وB وA تكون الحالة ⁦Off On⁩، والقاعدة تقول إن المصباح يجب أن يكون مضاءً لأن B ما زال On، بينما يعرضه الكود الخاطئ مطفأ. ومن مجموعة حالات الاختبار الجيدة تسلسل نقرات ينتهي بإطفاء مفتاح بينما الآخر On.

نص Aنص Bيجب أن يكون المصباح
OffOffمطفأ
OffOnمضاء
OnOffمضاء
OnOnمضاء
أمثلة محلولة
الخطوةالنقرةABالمصباح
0(البداية)OffOffمطفأ
1BOffOnمضاء
2AOnOnمضاء
3AOffOnمضاء
4BOffOffمطفأ
5AOnOffمضاء
6BOnOnمضاء
تتبع لست نقرات يبدأ من الحالة الابتدائية. لا يكون المصباح مطفأ إلا بعد الخطوة ٤.
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(False)
8    End If
9End Sub
Output
Off On -> unlit
صيد خطأ. في هذه النسخة من ⁦SwitchA_Click⁩ نُسيت If الداخلية. وسطر الناتج هو الحالة بعد النقرات A وB وA. وكان ينبغي أن يكون المصباح مضاءً لأن B هو On.
النقراتالحالة المتوقعة
(لا شيء)⁦Off, Off⁩: مطفأ
A⁦On, Off⁩: مضاء
⁦A, A⁩⁦Off, Off⁩: مطفأ
B⁦Off, On⁩: مضاء
⁦A, B, A⁩⁦Off, On⁩: مضاء
خطة اختبار صغيرة لمحاكي OR. والصف الأخير يصطاد الخطأ أعلاه.
نشاط الفصل

تتبّع محاكي OR للنقرات A وA وB وB وA بدءًا من الحالة الابتدائية. اكتب الجدول بالحالة بعد كل نقرة، ثم علّم الخطوات التي يكون فيها المصباح مطفأ.

تدرّب
1
بعد النقرتين B وA من الحالة الابتدائية، ماذا تعرض النصوص والمصباح؟
2
في محاكي OR، هل يمكن أن يكون المصباح مضاءً والنصان Off؟
3
ما حالة الاختبار؟
4
لماذا يفشل كود النقر الخاطئ مع النقرات A وB وA؟