10. المنطق الشرطي: اتّخاذ القرار
قارن قيمًا ثم تفرّع بناءً على راية محفوظة.
فتح هذا الدرس →
1. توقّع وتتبّع
قبل تشغيل برنامج التجربة، توقّع مخرجاته وتتبّع أول ثلاث تعليمات تُنفّذ. راقب السجلات أو الرايات أو الذاكرة ذات الصلة حسب الحاجة. ثم نفّذ البرنامج خطوةً خطوة للمقارنة.
LOAD 7
CMP 7
JUMP_IF_ZERO same
LOAD 0
JUMP show
same: LOAD 1
show: PRINT
HALT
أضف المدخلات إلى الطابور: لا يوجد
هيّئ الذاكرة: جميع البايتات صفر في البداية
إجابات توقّع التجربة
المخرجات: 1
2. ابنِ وافحص
اقرأ عددين صحيحين. اطبع 1 إن تساويا، وإلا فاطبع 0. تعامل مع المدخلات المتساوية والمختلفة.
أنواع التعليمات المطلوبة: INPUT, CMP, JUMP_IF_ZERO
مثال لحل التحدّي
INPUT
COPY R0 R1
INPUT
CMP R1
JUMP_IF_ZERO same
LOAD 0
JUMP show
same: LOAD 1
show: PRINT
HALT
حالات الفاحص الفعلية
الحالة 1
- المدخلات
5, 5- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
1
الحالة 2
- المدخلات
2, 3- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
0
الحالة 3
- المدخلات
-2, -2- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
1
3. اشرح الآلة
هل يمكن تفعيل Z عندما لا يكون R0 صفرًا؟
ملاحظة الاستدلال والتعليم
نعم: تضبط CMP 7 مع R0=7 راية الصفر من الفرق، بينما يبقى R0 عند 7.
11. زوجي أم فردي؟
استخدم الباقي والتفرّع لتصنيف المدخل.
فتح هذا الدرس →
1. توقّع وتتبّع
قبل تشغيل برنامج التجربة، توقّع مخرجاته وتتبّع أول ثلاث تعليمات تُنفّذ. راقب السجلات أو الرايات أو الذاكرة ذات الصلة حسب الحاجة. ثم نفّذ البرنامج خطوةً خطوة للمقارنة.
LOAD -3
MOD 2
JUMP_IF_ZERO even
LOAD 0
JUMP show
even: LOAD 1
show: PRINT
HALT
أضف المدخلات إلى الطابور: لا يوجد
هيّئ الذاكرة: جميع البايتات صفر في البداية
إجابات توقّع التجربة
المخرجات: 0
2. ابنِ وافحص
اقرأ عددًا صحيحًا. اطبع 1 إن كان زوجيًا، و0 إن كان فرديًا.
أنواع التعليمات المطلوبة: INPUT, MOD, JUMP_IF_ZERO
مثال لحل التحدّي
INPUT
MOD 2
JUMP_IF_ZERO even
LOAD 0
JUMP show
even: LOAD 1
show: PRINT
HALT
حالات الفاحص الفعلية
الحالة 1
- المدخلات
-3- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
0
الحالة 2
- المدخلات
8- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
1
الحالة 3
- المدخلات
0- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
1
الحالة 4
- المدخلات
7- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
0
3. اشرح الآلة
هل −3 فردي رغم أن نتيجة MOD 2 له هي −1؟
ملاحظة الاستدلال والتعليم
نعم. كل باقي ذي إشارة غير صفري يدل على الفردية؛ ويحدّد باقي الصفر الأعداد الزوجية بما فيها 0.
12. قرار مبنيّ على الذاكرة
اتّخذ قرارًا من بيانات مخزّنة وسجّل النتيجة.
فتح هذا الدرس →
1. توقّع وتتبّع
قبل تشغيل برنامج التجربة، توقّع مخرجاته وتتبّع أول ثلاث تعليمات تُنفّذ. راقب السجلات أو الرايات أو الذاكرة ذات الصلة حسب الحاجة. ثم نفّذ البرنامج خطوةً خطوة للمقارنة.
STORE 23 40
LOAD [40] R1
LOAD 23
CMP R1
JUMP_IF_ZERO match
LOAD 0
JUMP record
match: LOAD 1
record: STORE 41
PRINT
HALT
أضف المدخلات إلى الطابور: لا يوجد
هيّئ الذاكرة: 40: 23
إجابات توقّع التجربة
المخرجات: 1
2. ابنِ وافحص
تحتوي الذاكرة 40 على رمز تذكرة مقدّم. اقرأ تخمينًا واحدًا، ثم اطبع وخزّن في العنوان 41 القيمة 1 عند التطابق أو 0 عند الاختلاف.
أنواع التعليمات المطلوبة: INPUT, CMP, STORE, JUMP_IF_ZERO
مثال لحل التحدّي
LOAD [40] R1
INPUT
CMP R1
JUMP_IF_ZERO match
LOAD 0
JUMP record
match: LOAD 1
record: STORE 41
PRINT
HALT
حالات الفاحص الفعلية
الحالة 1
- المدخلات
23- الذاكرة الابتدائية
40: 23- المخرجات المتوقعة
1- الذاكرة النهائية المتوقعة
40: 23, 41: 1- قراءات الذاكرة المطلوبة
40
الحالة 2
- المدخلات
22- الذاكرة الابتدائية
40: 23- المخرجات المتوقعة
0- الذاكرة النهائية المتوقعة
40: 23, 41: 0- قراءات الذاكرة المطلوبة
40
الحالة 3
- المدخلات
0- الذاكرة الابتدائية
40: 0- المخرجات المتوقعة
1- الذاكرة النهائية المتوقعة
40: 0, 41: 1- قراءات الذاكرة المطلوبة
40
3. اشرح الآلة
لماذا ينبغي أن يعمل البرنامج عند تغيير الذاكرة 40 أيضًا؟
ملاحظة الاستدلال والتعليم
تقرأ قاعدة القرار الحالة المخزّنة بدل تضمين رمز تذكرة ثابت؛ وتُسجَّل وتُعرض القيمة نفسها، 1 أو 0، عند 41.