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

صفحات ديناميكية واختبار ولعبة

الأسبوع 14 · الوحدة ١٣ «الذكاء الاصطناعي التوليدي» (٢): الصفحات الديناميكية، عرض الموقع، تطبيق اختبار، لعبة كسر الكتل ومراجعة ما بنيناه · 3 دروس
2

تطبيق اختبار خطوة بخطوة

ICT Secondary 1 Term 1, Chapter 13, Lessons 13-5 to 13-12: pp. 205–218
الهدفأشرح كيف يحتفظ تطبيق الاختبار بقائمة أسئلة وفهرس ودرجة، وأتتبعه يدويًا.
كلمات جديدة
مصفوفة كائنات · قائمة يحمل كل عنصر فيها عدة قيم مسماةالفهرس · موضع السؤال الحالي في القائمةالدرجة (⁦score⁩) · متغير يعدّ الإجابات الصحيحةالدالة · كتلة شفرة لها اسم يمكن تشغيلها مرات كثيرة
الشرح

تطبيق الاختبار هو فكرة القائمة والدالة من الأسبوع ١٢ داخل صفحة. تُخزَّن الأسئلة في مصفوفة (قائمة) من الكائنات. ويحمل كل كائن نصًا وقائمة خيارات وفهرس الإجابة الصحيحة، فمثلًا ⁦answer: 1⁩ تعني الخيار الثاني. ويحفظ متغيران الحالة: ⁦index⁩ رقم السؤال المعروض الآن، و⁦score⁩ عدد الإجابات الصحيحة حتى الآن. وعندما يختار المستخدم إجابة تقارن الدالة ⁦check(choice)⁩ الرقم المختار بـ ⁦questions[index].answer⁩. فإذا تساويا زادت ⁦score⁩ بمقدار ١. ثم تزيد ⁦index⁩ بمقدار ١ ليظهر السؤال التالي. وعندما تساوي ⁦index⁩ القيمة ⁦questions.length⁩ تنتهي الأسئلة وتعرض الصفحة النتيجة مثل ⁦Score: 2 / 3⁩. وفي التتبع أدناه يختار التلميذ ١ ثم ٢ ثم ١. الإجابة الأولى صحيحة والثانية خاطئة والثالثة صحيحة. والأسئلة هنا عن الاستخدام الآمن للحاسوب ومخترعة. وتذكّر الأسبوع ٢: لا تنقر على روابط غريبة، وأخبر شخصًا بالغًا موثوقًا.

الخطوةالمختارصحيح؟indexscore
start--00
11نعم11
22لا21
31نعم32
أمثلة محلولة
JavaScript
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}
بيانات تطبيق الاختبار ودالته. ثلاثة أسئلة مخترعة والدالة ⁦check⁩.
JavaScript
1if (index === questions.length) {
2  result.textContent = "Score: " + score + " / " + questions.length;
3}
عرض النتيجة بعد انتهاء الأسئلة. وبعد الاختيارات ١ و٢ و١ تعرض الصفحة ⁦Score: 2 / 3⁩.
سؤال تصحيح. إذا نسيت ⁦check⁩ السطر ⁦index = index + 1⁩ بقي السؤال نفسه على الشاشة وقورنت كل إجابة بـ ⁦questions[0].answer⁩.
نشاط الفصل

على الورق أضف سؤالًا رابعًا إلى المصفوفة (سؤالًا مخترعًا عن الاستخدام الآمن للحاسوب بثلاثة خيارات وفهرس إجابة). ثم تتبع التطبيق للاختيارات ١ و٠ و١ و٢ واكتب ⁦index⁩ و⁦score⁩ بعد كل خطوة.

تدرّب
1
ماذا تعني ⁦answer: 1⁩ في كائن السؤال؟
2
متى تزيد ⁦score⁩؟
3
كيف يعرف التطبيق أن الاختبار انتهى؟
4
يختار التلميذ ٠ و١ و١ في التتبع. كم الدرجة؟