Pig Latin

Pig Latin

متوسط

مقدمة

تحدّاك أنت وشقيقك والداكما في مباراة كرة سلة اثنين ضد اثنين. واثقَين من فوزهما، سمحا لك بتسجيل أول نقطتين، ثم بدآ بالسيطرة على المباراة. ولأنك كنت بحاجة إلى دفعة صغيرة، بدأت تتحدث بلغة Pig Latin، وهي لغة أطفال مُختلقة يصعب على غير الأطفال فهمها. سيمنحك هذا الأفضلية لتتفوق على والديك!

التعليمات

مهمتك هي ترجمة نص من الإنجليزية إلى Pig Latin. تُعرَّف الترجمة بأربع قواعد تنظر إلى نمط حروف العلة والحروف الساكنة في بداية الكلمة. تنظر هذه القواعد إلى استخدام كل كلمة لحروف العلة والحروف الساكنة:

  • حروف العلة: الحروف a وe وi وo وu
  • الحروف الساكنة: الحروف الـ21 الأخرى في الأبجدية الإنجليزية

القاعدة 1

إذا بدأت الكلمة بحرف علة، أو بدأت بـ"xr" أو "yt"، فأضف صوت "ay" إلى نهاية الكلمة.

على سبيل المثال:

  • "apple" -> "appleay" (تبدأ بحرف علة)
  • "xray" -> "xrayay" (تبدأ بـ"xr")
  • "yttria" -> "yttriaay" (تبدأ بـ"yt")

القاعدة 2

إذا بدأت الكلمة بحرف ساكن واحد أو أكثر، فانقل تلك الحروف الساكنة أولًا إلى نهاية الكلمة، ثم أضف صوت "ay" إلى نهاية الكلمة.

على سبيل المثال:

  • "pig" -> "igp" -> "igpay" (تبدأ بحرف ساكن واحد)
  • "chair" -> "airch" -> "airchay" (تبدأ بعدة حروف ساكنة)
  • "thrush" -> "ushthr" -> "ushthray" (تبدأ بعدة حروف ساكنة)

القاعدة 3

إذا بدأت الكلمة بصفر أو أكثر من الحروف الساكنة يتبعها "qu"، فانقل تلك الحروف الساكنة (إن وُجدت) وجزء "qu" أولًا إلى نهاية الكلمة، ثم أضف صوت "ay" إلى نهاية الكلمة.

على سبيل المثال:

  • "quick" -> "ickqu" -> "ay" (تبدأ بـ"qu"، دون حروف ساكنة قبلها)
  • "square" -> "aresqu" -> "aresquay" (تبدأ بحرف ساكن واحد يتبعه "qu)

القاعدة 4

إذا بدأت الكلمة بحرف ساكن واحد أو أكثر يتبعه "y"، فانقل أولًا الحروف الساكنة التي تسبق "y" إلى نهاية الكلمة، ثم أضف صوت "ay" إلى نهاية الكلمة.

بعض الأمثلة:

  • "my" -> "ym" -> "ymay" (تبدأ بحرف ساكن واحد يتبعه "y")
  • "rhythm" -> "ythmrh" -> "ythmrhay" (تبدأ بعدة حروف ساكنة يتبعها "y")
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Delphi Pascal Exercism

مستعد لبدء Pig Latin؟

سجّل في Exercism لتتعلّم وتتقن Delphi Pascal عبر 76 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.

تعمّق في Pig Latin!

نلقي نظرة على مطابقة الأنماط والتعبيرات النمطية، وعلى حل أنيق بلغة Prolog، ونسأل: هل حللت التمرين فعلًا أم جعلت الاختبارات تنجح فحسب؟