مفتاح إجابات المعلّم

ابنِ برامج صغيرة

اجمع أربعة أنواع من الأدلة: توقّع الحالة ذات الصلة؛ السلوك عبر حالات متنوعة تشمل الحدود؛ تفسير يستند إلى سجلّ التنفيذ والحالة؛ وتصحيح معلّل لاختلاف واحد. صنّف كل جانب بأنه ناشئ، أو متحقّق بمساعدة، أو مستقل، على الورق أو وفق آلية مدرستك المعتمدة. اجتياز التحدّي دليل على سلوك الآلة، وليس إثباتًا لتأليف الشيفرة أو إتقان شامل. اقبل البرامج الصحيحة المكافئة؛ المفتاح العام نموذج، لا الإجابة الوحيدة الممكنة.

مادة تعليمية متاحة للجميع. الحلول أمثلة؛ قد تجتاز البرامج الصحيحة المكافئة الفحوص الفعلية أيضًا.

28. لعبة هدف صغيرة

ابنِ لعبة من ثلاث جولات بحالة مخزّنة ونتيجة.

فتح هذا الدرس →

1. توقّع وتتبّع

قبل تشغيل برنامج التجربة، توقّع مخرجاته وتتبّع أول ثلاث تعليمات تُنفّذ. راقب السجلات أو الرايات أو الذاكرة ذات الصلة حسب الحاجة. ثم نفّذ البرنامج خطوةً خطوة للمقارنة.

STORE 5 200
LOAD [200] R1
LOAD 0 R2
LOOP 3
INPUT
CMP R1
JUMP_IF_ZERO hit
JUMP next
hit: LOAD R2
ADD 1
COPY R0 R2
next: NOP
RETURN
LOAD R2
STORE 201
PRINT
HALT

أضف المدخلات إلى الطابور: 5, 2, 5

هيّئ الذاكرة: 200: 5

إجابات توقّع التجربة

المخرجات: 2

التعليمةPC قبلPC بعدR0 قبلR0 بعدالحالة ذات الصلةالمخرجات
STORE0100{"registers":[0,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[200]}لا يوجد
LOAD1200{"registers":[0,5,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[200],"memoryWrites":[]}لا يوجد
LOAD2300{"registers":[0,5,0,0,0,0,0,0],"flags":{"zero":true,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]}لا يوجد

2. ابنِ وافحص

تحتوي الذاكرة 200 على بايت هدف. اقرأ ثلاثة تخمينات بالضبط. عدّ التخمينات المساوية للهدف، وخزّن النتيجة في الذاكرة 201، واطبعها مرةً واحدة.

أنواع التعليمات المطلوبة: INPUT, CMP, LOOP, STORE, JUMP_IF_ZERO

مثال لحل التحدّي

LOAD [200] R1
LOAD 0 R2
LOOP 3
INPUT
CMP R1
JUMP_IF_ZERO hit
JUMP next
hit: LOAD R2
ADD 1
COPY R0 R2
next: NOP
RETURN
LOAD R2
STORE 201
PRINT
HALT

حالات الفاحص الفعلية

الحالة 1
المدخلات
5, 2, 5
الذاكرة الابتدائية
200: 5
المخرجات المتوقعة
2
الذاكرة النهائية المتوقعة
200: 5, 201: 2
قراءات الذاكرة المطلوبة
200
الحالة 2
المدخلات
1, 2, 3
الذاكرة الابتدائية
200: 9
المخرجات المتوقعة
0
الذاكرة النهائية المتوقعة
200: 9, 201: 0
قراءات الذاكرة المطلوبة
200
الحالة 3
المدخلات
0, 0, 0
الذاكرة الابتدائية
200: 0
المخرجات المتوقعة
3
الذاكرة النهائية المتوقعة
200: 0, 201: 3
قراءات الذاكرة المطلوبة
200
الحالة 4
المدخلات
17, 1, 2
الذاكرة الابتدائية
200: 17
المخرجات المتوقعة
1
الذاكرة النهائية المتوقعة
200: 17, 201: 1
قراءات الذاكرة المطلوبة
200

3. اشرح الآلة

ما الحالة التي تتغيّر عند تخمين صحيح وعند تخمين خاطئ؟

ملاحظة الاستدلال والتعليم

تزيد النتيجة عند التساوي فقط؛ ويبقى الهدف بيانات مدخلة ومخزّنة للقاعدة. تنتج ثلاثة تخمينات نتيجةً عددية.