A szüleid kihívtak téged és a testvéredet egy két a kettő elleni kosárlabdajátékra. Bízva abban, hogy nyerni fognak, hagyták, hogy megszerezd az első pár pontot, de aztán átvették a játék irányítását. Mivel egy kis lendületre van szükséged, elkezdesz Pig Latin nyelven beszélni, ami egy kitalált gyereknyelv, és amit nehezen értenek meg azok, akik nem gyerekek. Ez megadja neked az előnyt, hogy felülkerekedj a szüleiden!
A feladatod, hogy szöveget fordíts angolról malac latinra. A fordítást négy szabály határozza meg; ezek a szó elején álló magánhangzók és mássalhangzók mintázatát vizsgálják. A szabályok minden szónál a magánhangzók és a mássalhangzók használatát nézik:
a, e, i, o és u betűkHa egy szó magánhangzóval kezdődik, vagy "xr"-rel vagy "yt"-vel kezdődik, a szó végére egy "ay" hangot fűzünk.
Például:
"apple" -> "appleay" (magánhangzóval kezdődik)"xray" -> "xrayay" ("xr"-rel kezdődik)"yttria" -> "yttriaay" ("yt"-vel kezdődik)Ha egy szó egy vagy több mássalhangzóval kezdődik, először azokat a mássalhangzókat a szó végére tesszük, majd a szó végére egy "ay" hangot fűzünk.
Például:
"pig" -> "igp" -> "igpay" (egyetlen mássalhangzóval kezdődik)"chair" -> "airch" -> "airchay" (több mássalhangzóval kezdődik)"thrush" -> "ushthr" -> "ushthray" (több mássalhangzóval kezdődik)Ha egy szó "qu"-val kezdődik, előtte nulla vagy több mássalhangzóval, először azokat a mássalhangzókat (ha vannak) és a "qu" részt a szó végére tesszük, majd a szó végére egy "ay" hangot fűzünk.
Például:
"quick" -> "ickqu" -> "ay" ("qu"-val kezdődik, nincs előtte mássalhangzó)"square" -> "aresqu" -> "aresquay" (egy mássalhangzóval kezdődik, amelyet "qu" követ)Ha egy szó egy vagy több mássalhangzóval kezdődik, amelyet "y" követ, először a "y" előtti mássalhangzókat a szó végére tesszük, majd a szó végére egy "ay" hangot fűzünk.
Néhány példa:
"my" -> "ym" -> "ymay" (egyetlen mássalhangzóval kezdődik, amelyet "y" követ)"rhythm" -> "ythmrh" -> "ythmrhay" (több mássalhangzóval kezdődik, amelyet "y" követ)Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Delphi Pascal nyelvet 76 feladat segítségével, valódi emberi mentorálással, mindez ingyen.
Megnézzük a mintailesztést és a reguláris kifejezéseket, valamint egy szép Prolog-megoldást, és feltesszük a kérdést: megoldottad a feladatot, vagy csak átmentél a teszteken?