تطبيق اختبار خطوة بخطوة
تطبيق الاختبار هو فكرة القائمة والدالة من الأسبوع ١٢ داخل صفحة. تُخزَّن الأسئلة في مصفوفة (قائمة) من الكائنات. ويحمل كل كائن نصًا وقائمة خيارات وفهرس الإجابة الصحيحة، فمثلًا answer: 1 تعني الخيار الثاني. ويحفظ متغيران الحالة: index رقم السؤال المعروض الآن، وscore عدد الإجابات الصحيحة حتى الآن. وعندما يختار المستخدم إجابة تقارن الدالة check(choice) الرقم المختار بـ questions[index].answer. فإذا تساويا زادت score بمقدار ١. ثم تزيد index بمقدار ١ ليظهر السؤال التالي. وعندما تساوي index القيمة questions.length تنتهي الأسئلة وتعرض الصفحة النتيجة مثل Score: 2 / 3. وفي التتبع أدناه يختار التلميذ ١ ثم ٢ ثم ١. الإجابة الأولى صحيحة والثانية خاطئة والثالثة صحيحة. والأسئلة هنا عن الاستخدام الآمن للحاسوب ومخترعة. وتذكّر الأسبوع ٢: لا تنقر على روابط غريبة، وأخبر شخصًا بالغًا موثوقًا.
| الخطوة | المختار | صحيح؟ | index | score |
|---|---|---|---|---|
| start | - | - | 0 | 0 |
| 1 | 1 | نعم | 1 | 1 |
| 2 | 2 | لا | 2 | 1 |
| 3 | 1 | نعم | 3 | 2 |
1const questions = [ 2 { text: "A message asks for your password. What do you do?", choices: ["Send it", "Do not click, tell a trusted adult", "Reply with a joke"], answer: 1 }, 3 { text: "Which password idea is strongest?", choices: ["Your name", "A long mix of words and numbers", "The word pass"], answer: 1 }, 4 { text: "A free game asks you to turn off the security program. What do you do?", choices: ["Turn it off", "Ask a teacher first", "Delete the backups"], answer: 1 } 5]; 6let index = 0; 7let score = 0; 8function check(choice) { 9 if (choice === questions[index].answer) { 10 score = score + 1; 11 } 12 index = index + 1; 13}
1if (index === questions.length) { 2 result.textContent = "Score: " + score + " / " + questions.length; 3}
على الورق أضف سؤالًا رابعًا إلى المصفوفة (سؤالًا مخترعًا عن الاستخدام الآمن للحاسوب بثلاثة خيارات وفهرس إجابة). ثم تتبع التطبيق للاختيارات ١ و٠ و١ و٢ واكتب index وscore بعد كل خطوة.