المسارات
/
Pharo
Pharo
/
التمارين
/
المدرسة الابتدائية
المدرسة الابتدائية

المدرسة الابتدائية

متوسط

التعليمات

بالنظر إلى أسماء الطلاب مع الصف الدراسي لكل منهم، أنشئ سجلًا للمدرسة.

في النهاية، يجب أن تكون قادرًا على:

  • إضافة اسم طالب إلى سجل صف دراسي معيّن:
    • "أضف Jim إلى الصف 2."
    • "حسنًا."
  • الحصول على قائمة بجميع الطلاب المسجّلين في صف دراسي:
    • "أي الطلاب في الصف 2؟"
    • "ليس لدينا سوى Jim في الوقت الحالي."
  • الحصول على قائمة مرتّبة بجميع الطلاب في كل الصفوف الدراسية. يجب ترتيب الصفوف كما يلي: 1، 2، 3، إلخ، ويجب ترتيب الطلاب داخل كل صف أبجديًا حسب الاسم.
    • "من المسجّل في المدرسة الآن؟"
    • "دعني أفكر. لدينا Anna وBarb وCharlie في الصف 1، وAlex وPeter وZoe في الصف 2، وJim في الصف 5. إذن الجواب هو: Anna وBarb وCharlie وAlex وPeter وZoe وJim."

لاحظ أن جميع طلابنا لديهم اسم واحد فقط (إنها بلدة صغيرة، ماذا تريد؟)، ولا يمكن إضافة الطالب نفسه أكثر من مرة إلى صف دراسي أو إلى السجل. إذا حاول اختبار إضافة الطالب نفسه أكثر من مرة، فيجب أن يشير تنفيذك إلى أن هذا غير صحيح.

ملاحظة

ليس من الضروري تمامًا تمثيل الطلاب ككائن منفصل، فيمكنك استخدام بنية بيانات داخلية مناسبة، لأن المتطلبات بسيطة إلى حد ما (وطالما أنها لا تتسرب إلى النتائج).

Note

أُجري تعديل طفيف على هذا التمرين عن مواصفة المسألة، إذ يصبح من المنطقي أكثر فصل إضافة الطلاب عن الاستعلام عنهم في طريقتين منفصلتين (بدلًا من طريقة واحدة تقوم بالأمرين معًا، وهو ما يبدو أقل شبهًا بـ Pharo/Smalltalk).


المصدر

جلسة برمجة ثنائية مع Phil Battos في gSchool
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Pharo Exercism

مستعد لبدء المدرسة الابتدائية؟

سجّل في Exercism لتتعلّم وتتقن Pharo عبر 50 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.