والدینتان شما و خواهر یا برادرتان را به یک بازی بسکتبال دو در دو دعوت کردهاند. آنها که مطمئناند برنده میشوند، اجازه میدهند چند امتیاز اول را بگیرید، اما بعد کمکم بازی را در دست میگیرند. برای اینکه کمی روحیه بگیرید، شروع میکنید به حرف زدن به «پیگ لاتین»، زبانی ساختگی و کودکانه که فهمیدنش برای کسانی که دیگر کودک نیستند دشوار است. این به شما برتری میدهد تا بر والدینتان پیروز شوید!
وظیفهی شما ترجمهی متن از انگلیسی به Pig Latin است. این ترجمه با چهار قاعده تعریف میشود که الگوی حروف صدادار و حروف بیصدا را در آغاز واژه بررسی میکنند. این قاعدهها بررسی میکنند که هر واژه از حروف صدادار و حروف بیصدا چگونه استفاده میکند:
a، e، i، o و u
اگر واژهای با یک حرف صدادار آغاز شود، یا با "xr" یا "yt" شروع شود، صدای "ay" را به پایان واژه اضافه کنید.
برای مثال:
"apple" -> "appleay" (با حرف صدادار آغاز میشود)"xray" -> "xrayay" (با "xr" آغاز میشود)"yttria" -> "yttriaay" (با "yt" آغاز میشود)اگر واژهای با یک یا چند حرف بیصدا آغاز شود، ابتدا آن حروف بیصدا را به پایان واژه منتقل کنید و سپس صدای "ay" را به پایان واژه اضافه کنید.
برای مثال:
"pig" -> "igp" -> "igpay" (با یک حرف بیصدای تنها آغاز میشود)"chair" -> "airch" -> "airchay" (با چند حرف بیصدا آغاز میشود)"thrush" -> "ushthr" -> "ushthray" (با چند حرف بیصدا آغاز میشود)اگر واژهای با صفر یا چند حرف بیصدا آغاز شود که پس از آنها "qu" بیاید، ابتدا آن حروف بیصدا (در صورت وجود) و بخش "qu" را به پایان واژه منتقل کنید و سپس صدای "ay" را به پایان واژه اضافه کنید.
برای مثال:
"quick" -> "ickqu" -> "ickquay" (با "qu" آغاز میشود، بدون حرف بیصدای پیشین)"square" -> "aresqu" -> "aresquay" (با یک حرف بیصدا آغاز میشود که پس از آن "qu میآید)اگر واژهای با یک یا چند حرف بیصدا آغاز شود که پس از آنها "y" بیاید، ابتدا حروف بیصدای پیش از "y" را به پایان واژه منتقل کنید و سپس صدای "ay" را به پایان واژه اضافه کنید.
چند مثال:
"my" -> "ym" -> "ymay" (با یک حرف بیصدای تنها آغاز میشود که پس از آن "y" میآید)"rhythm" -> "ythmrh" -> "ythmrhay" (با چند حرف بیصدا آغاز میشود که پس از آنها "y" میآید)در Exercism ثبتنام کنید تا Visual Basic را همراه با 113 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.
ما نگاهی به تطبیق الگو و عبارتهای باقاعده میاندازیم و یک راهحل زیبای Prolog را هم بررسی میکنیم و از شما میپرسیم: آیا تمرین را حل کردید یا فقط تستها را پاس کردید؟