يتم إعطاؤك مقتطف التعليمات البرمجية الذي يمثل بداية تعريف الفئة. مهمتك هي إكمال الفصل من خلال تنفيذ أساليب وسمات محددة.

يحتوي الفصل على طريقة `__init__` والتي تأخذ عددًا صحيحًا `size` كمعلمة. داخل الأسلوب `__init__`، يقوم الفصل بتهيئة ثلاث سمات:
- تم تعيين `self.scoreboard` على مثيل لفئة `Scoreboard`.
- تم ضبط `self.keyboard` على مثيل لفئة `Keyboard`.
- تم ضبط `self.size` على قيمة معلمة `size`.

تحتوي الفئة أيضًا على أسلوب `update` الذي يأخذ أربع معلمات: عدد صحيح `n`، ومثيل لفئة `Word` يُسمى `word`، وعدد صحيح `score`، ومثيل لفئة `WordSeries` يُسمى ` متاح_الإجابات`. تقوم طريقة "التحديث" بما يلي:

1. يحول "النتيجة" إلى نموذج ثلاثي باستخدام الدالة "to_ternary" مع "النتيجة" و"self.size" كمعلمات. يتم تعيين النتيجة الثلاثية الناتجة إلى المتغير "ternary_score".

2. قم بإنشاء مثيل للفئة `ScoreboardPrinter` المسمى `sb_printer` باستخدام `self.size` كمعلمة.

3. قم بإنشاء مثيل للفئة `KeyboardPrinter' باسم `kb_printer`.

مهمتك هي إكمال الفصل من خلال تنفيذ فئات `Scoreboard` و`Keyboard` و`Word` و`WordSeries` و`ScoreboardPrinter` و`KeyboardPrinter` و`to_ternary` والدالة `to_ternary` وفقًا للوظيفة المتوفرة مقتطف الكود.

قم بتنفيذ الفئات المفقودة ووظيفتها وفقًا للأوصاف والإرشادات الواردة أدناه.

**تعريفات الفئة:**

- فئة "لوحة النتائج":
  - يمثل هذا الفصل لوحة النتائج.
  - أن لا يكون له أي صفات.
  - وينبغي أن لا يكون له طرق.

- فئة `لوحة المفاتيح`:
  - يمثل هذا الفصل لوحة المفاتيح.
  - أن لا يكون له أي صفات.
  - وينبغي أن لا يكون له طرق.

- فئة "الكلمة":
  - هذا الفصل يمثل كلمة.
  - أن لا يكون له أي صفات.
  - وينبغي أن لا يكون له طرق.

- فئة `WordSeries`:
  - يمثل هذا الفصل سلسلة من الكلمات.
  - أن لا يكون له أي صفات.
  - وينبغي أن لا يكون له طرق.

- فئة `ScoreboardPrinter':
  - يمثل هذا الفصل طابعة للوحة النتائج.
  - يجب أن يكون له صفة واحدة:
    - `الحجم` (عدد صحيح): حجم لوحة النتائج.
  - وينبغي أن لا يكون له طرق.

- فئة `KeyboardPrinter`:
  - تمثل هذه الفئة طابعة للوحة المفاتيح.
  - أن لا يكون له أي صفات.
  - وينبغي أن لا يكون له طرق.

**وظيفة:**

- `to_ternary(score: int, base: int) -> str`:
  - تأخذ هذه الدالة عددًا صحيحًا "النتيجة" وعددًا صحيحًا "الأساس" كمعلمات.
  - يقوم بتحويل "النتيجة" إلى تمثيل سلسلة ثلاثية باستخدام "الأساس" المحدد.
  - يجب أن يُرجع تمثيل السلسلة الثلاثية لـ "النتيجة".

قم بتنفيذ الفئات المفقودة ووظيفتها وفقًا للأوصاف والإرشادات المذكورة أعلاه.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}