پیگ لاتین

پیگ لاتین

متوسط

مقدمه

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

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

وظیفه‌ی شما ترجمه‌ی متن از انگلیسی به 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" می‌آید)
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Visual Basic Exercism

آماده‌اید پیگ لاتین را شروع کنید؟

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

بررسی عمیق پیگ لاتین!

ما نگاهی به تطبیق الگو و عبارت‌های باقاعده می‌اندازیم و یک راه‌حل زیبای Prolog را هم بررسی می‌کنیم و از شما می‌پرسیم: آیا تمرین را حل کردید یا فقط تست‌ها را پاس کردید؟