بدأ أفضل صديق لديك بجمع أحجيات الصور المقطوعة، ويريد بناء كتالوج مفصّل لمجموعته، يسجّل فيه معلومات مثل العدد الإجمالي للقطع، وعدد الصفوف والأعمدة، وعدد القطع الحدودية والداخلية، ونسبة الأبعاد، وتنسيق الأحجية. حتى مع تضافر قواكما، يستغرق حلّ أحجية واحدة من ألف قطعة عدة ساعات، وبعد ذلك تظل بحاجة إلى عدّ الصفوف والأعمدة وحساب الأرقام المتبقية يدويًا. وتبدو الأحجيات الأكبر، التي تحتوي على آلاف القطع، مخيفة إلى حد كبير الآن. «لا بد أن هناك أسلوبًا أفضل!» تهتف، ثم تجلس أمام حاسوبك لحلّ المشكلة.
بمعطيات جزئية عن أحجية الصور المقطوعة، أضف القطع الناقصة.
إذا كانت المعلومات غير كافية لإكمال التفاصيل، أو كانت الأجزاء المعطاة متناقضة، فيجب إخطار المستخدم.
تتضمن المعلومات الكاملة عن أحجية الصور المقطوعة الأجزاء التالية:
pieces: العدد الإجمالي للقطعborder: عدد القطع الحدوديةinside: عدد القطع الداخلية (غير الحدودية)rows: عدد الصفوفcolumns: عدد الأعمدةaspectRatio: نسبة الأبعاد بين الأعمدة والصفوفformat: تنسيق الأحجية، ويمكن أن يكون portrait أو square أو landscape
في هذا التمرين، يمكنك افتراض أن القطع مربعة، بحيث يمكن استنتاج التنسيق من نسبة الأبعاد:
portrait
square
landscape
أحجية صور مقطوعة طولية من 6 قطع، جميعها قطع حدودية ولا توجد فيها قطع داخلية. لها عمودان و3 صفوف. ونسبة الأبعاد هي 0.666666... (2/3).
أحجية صور مقطوعة مربعة من 9 قطع، جميعها قطع حدودية باستثناء القطعة الواقعة في المركز، فهي قطعة داخلية. لها 3 أعمدة و3 صفوف. ونسبة الأبعاد هي 1.0 (3/3).
أحجية صور مقطوعة أفقية من 12 قطعة، 10 منها قطع حدودية وقطعتان داخليتان. لها 4 أعمدة و3 صفوف. ونسبة الأبعاد هي 1.333333... (4/3).
سجّل في Exercism لتتعلّم وتتقن Wren عبر 117 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.