Pig Latin

Pig Latin

Medio

Introduzione

I tuoi genitori hanno sfidato te e un tuo fratello o una tua sorella a una partita di basket due contro due. Sicuri di vincere, ti lasciano segnare un paio di punti, ma poi prendono il sopravvento. Hai bisogno di una piccola spinta, così inizi a parlare in Pig Latin, una lingua inventata per bambini che è difficile da capire per chi non è più bambino. Questo ti darà il vantaggio che ti serve per avere la meglio sui tuoi genitori!

Istruzioni

Il tuo compito è tradurre del testo dall'inglese al Pig Latin. La traduzione è definita da quattro regole, che esaminano la sequenza di vocali e consonanti all'inizio di una parola. Queste regole considerano l'uso delle vocali e delle consonanti in ogni parola:

  • vocali: le lettere a, e, i, o e u
  • consonanti: le altre 21 lettere dell'alfabeto inglese

Regola 1

Se una parola inizia con una vocale, oppure inizia con "xr" o "yt", aggiungi un suono "ay" alla fine della parola.

Per esempio:

  • "apple" -> "appleay" (inizia con una vocale)
  • "xray" -> "xrayay" (inizia con "xr")
  • "yttria" -> "yttriaay" (inizia con "yt")

Regola 2

Se una parola inizia con una o più consonanti, sposta prima quelle consonanti alla fine della parola, poi aggiungi un suono "ay" alla fine della parola.

Per esempio:

  • "pig" -> "igp" -> "igpay" (inizia con una sola consonante)
  • "chair" -> "airch" -> "airchay" (inizia con più consonanti)
  • "thrush" -> "ushthr" -> "ushthray" (inizia con più consonanti)

Regola 3

Se una parola inizia con zero o più consonanti seguite da "qu", sposta prima quelle consonanti (se ci sono) e la parte "qu" alla fine della parola, poi aggiungi un suono "ay" alla fine della parola.

Per esempio:

  • "quick" -> "ickqu" -> "ickquay" (inizia con "qu", nessuna consonante che precede)
  • "square" -> "aresqu" -> "aresquay" (inizia con una consonante seguita da "qu")

Regola 4

Se una parola inizia con una o più consonanti seguite da "y", sposta prima le consonanti che precedono la "y" alla fine della parola, poi aggiungi un suono "ay" alla fine della parola.

Alcuni esempi:

  • "my" -> "ym" -> "ymay" (inizia con una sola consonante seguita da "y")
  • "rhythm" -> "ythmrh" -> "ythmrhay" (inizia con più consonanti seguite da "y")

Istruzioni specifiche del track

I byte da 64 a 319 della memoria lineare sono riservati alla stringa di input.

La stringa di input può essere modificata sul posto, se lo desideri.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
WebAssembly Exercism

Vuoi iniziare Pig Latin?

Iscriviti a Exercism per imparare e padroneggiare WebAssembly con 87 esercizi e il mentoring di persone reali, tutto gratis.

Approfondimento su Pig Latin!

Diamo un'occhiata al pattern matching e alle espressioni regolari, oltre a una bella soluzione in Prolog, e ci chiediamo: hai risolto l'esercizio o hai solo fatto passare i test?