مسیرها
/
Wren
Wren
/
تمرین‌ها
/
کنار هم چیدن قطعه‌ها
کنار هم چیدن قطعه‌ها

کنار هم چیدن قطعه‌ها

متوسط

مقدمه

بهترین دوستتان شروع به جمع‌آوری پازل کرده و می‌خواهد فهرست مفصلی از مجموعه‌اش بسازد؛ اطلاعاتی مثل تعداد کل تکه‌ها، تعداد سطرها و ستون‌ها، تعداد تکه‌های لبه و تکه‌های داخلی، نسبت ابعاد و قالب پازل را ثبت کند. حتی اگر نیروهایتان را هم روی هم بگذارید، حل یک پازل هزارتکه چند ساعت طول می‌کشد، و بعد از آن هم باید سطرها و ستون‌ها را بشمارید و باقی عددها را دستی حساب کنید. پازل‌های بزرگ‌تر با هزاران تکه حالا واقعاً ترسناک به نظر می‌رسند. با خودتان می‌گویید: «باید راه بهتری هم باشد!» و پشت رایانه‌تان می‌نشینید تا این مسئله را حل کنید.

دستورالعمل‌ها

با توجه به اطلاعات ناقص درباره یک پازل، قطعات گمشده را اضافه کنید.

اگر اطلاعات برای تکمیل جزئیات کافی نباشد، یا اگر بخش‌های داده شده با هم در تناقض باشند، باید به کاربر اطلاع داده شود.

اطلاعات کامل درباره پازل شامل بخش‌های زیر است:

  • pieces: تعداد کل قطعات
  • border: تعداد قطعات حاشیه
  • inside: تعداد قطعات داخلی (غیرحاشیه‌ای)
  • rows: تعداد ردیف‌ها
  • columns: تعداد ستون‌ها
  • aspectRatio: نسبت ابعاد ستون‌ها به ردیف‌ها
  • format: قالب پازل، که می‌تواند portrait، square، یا landscape باشد

برای این تمرین، می‌توانید فرض کنید که قطعات مربعی هستند، بنابراین قالب را می‌توان از نسبت ابعاد استخراج کرد:

  • اگر نسبت ابعاد کمتر از ۱ باشد، portrait است
  • اگر برابر با ۱ باشد، square است
  • اگر بزرگ‌تر از ۱ باشد، landscape است

سه مثال

عمودی

یک پازل عمودی با ۶ قطعه، که همه‌ی آن‌ها قطعات حاشیه هستند و هیچ‌کدام قطعه‌ی داخلی نیستند. این پازل ۲ ستون و ۳ ردیف دارد. نسبت ابعاد ۰٫۶۶۶۶۶۶... (۲/۳) است.

یک پازل ۲ در ۳

مربعی

یک پازل مربعی با ۹ قطعه، که همه‌ی آن‌ها قطعات حاشیه هستند، به جز قطعه‌ی مرکزی که یک قطعه‌ی داخلی است. این پازل ۳ ستون و ۳ ردیف دارد. نسبت ابعاد ۱٫۰ (۳/۳) است.

یک پازل ۳ در ۳

افقی

یک پازل افقی با ۱۲ قطعه، که ۱۰ تای آن‌ها قطعات حاشیه و ۲ تا قطعه‌ی داخلی هستند. این پازل ۴ ستون و ۳ ردیف دارد. نسبت ابعاد ۱٫۳۳۳۳۳۳... (۴/۳) است.

یک پازل ۴ در ۳

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Wren Exercism

آماده‌اید کنار هم چیدن قطعه‌ها را شروع کنید؟

در Exercism ثبت‌نام کنید تا Wren را همراه با 117 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.