الماسة

الماسة

صعب

التعليمات

يأخذ كاتا الماسة حرفًا كمُدخل، ويُخرجه على شكل ماسة. عند إعطائه حرفًا، يطبع ماسة تبدأ بالحرف 'A'، ويكون الحرف المُعطى عند أوسع نقطة فيها.

المتطلبات

  • يحتوي الصف الأول على حرف 'A' واحد.
  • يحتوي الصف الأخير على حرف 'A' واحد.
  • تحتوي جميع الصفوف، ما عدا الأول والأخير، على حرفين متطابقين تمامًا.
  • تحتوي جميع الصفوف على عدد من المسافات في نهايتها مساوٍ لعدد المسافات في بدايتها. (قد يكون هذا العدد صفرًا).
  • الماسة متناظرة أفقيًا.
  • الماسة متناظرة رأسيًا.
  • الماسة مربعة الشكل (العرض يساوي الارتفاع).
  • تُشكّل الحروف شكل ماسة.
  • يحتوي النصف العلوي على الحروف بترتيب تصاعدي.
  • يحتوي النصف السفلي على الحروف بترتيب تنازلي.
  • الزوايا الأربع (التي تحتوي على المسافات) هي مثلثات.

الأمثلة

في الأمثلة التالية، تُشار إلى المسافات بالمحرف ·.

الماسة الخاصة بالحرف 'A':

A

الماسة الخاصة بالحرف 'C':

··A··
·B·B·
C···C
·B·B·
··A··

الماسة الخاصة بالحرف 'E':

····A····
···B·B···
··C···C··
·D·····D·
E·······E
·D·····D·
··C···C··
···B·B···
····A····

تلميحات

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

المصدر

Seb Roseيفتح الرابط في نافذة أو علامة تبويب جديدة
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
F# Exercism

مستعد لبدء الماسة؟

سجّل في Exercism لتتعلّم وتتقن F# عبر 18 مفهومًا148 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.