Οι γονείς σου προκάλεσαν εσένα και το αδέρφι σου σε ένα παιχνίδι μπάσκετ δύο εναντίον δύο. Σίγουροι ότι θα κερδίσουν, σε άφησαν να βάλεις τους πρώτους δύο πόντους, αλλά μετά άρχισαν να κυριαρχούν στο παιχνίδι. Επειδή χρειάζεσαι λίγη ώθηση, αρχίζεις να μιλάς Pig Latin, μια επινοημένη παιδική γλώσσα που είναι δύσκολο να την καταλάβουν όσοι δεν είναι παιδιά. Αυτό θα σου δώσει το πλεονέκτημα για να νικήσεις τους γονείς σου!
Η αποστολή σου είναι να μεταφράσεις κείμενο από τα αγγλικά σε 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" -> "ay" (ξεκινά με "qu", χωρίς προηγούμενα σύμφωνα)"square" -> "aresqu" -> "aresquay" (ξεκινά με ένα σύμφωνο ακολουθούμενο από "qu")Αν μια λέξη ξεκινά με ένα ή περισσότερα σύμφωνα ακολουθούμενα από "y", μετακίνησε πρώτα τα σύμφωνα που προηγούνται του "y" στο τέλος της λέξης και μετά πρόσθεσε έναν ήχο "ay" στο τέλος της λέξης.
Μερικά παραδείγματα:
"my" -> "ym" -> "ymay" (ξεκινά με ένα μόνο σύμφωνο ακολουθούμενο από "y")"rhythm" -> "ythmrh" -> "ythmrhay" (ξεκινά με πολλά σύμφωνα ακολουθούμενα από "y")Γράψου στο Exercism για να μάθεις και να κατακτήσεις Delphi Pascal με 76 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.
Ρίχνουμε μια ματιά στο ταίριασμα προτύπων και τις κανονικές εκφράσεις, καθώς και σε μια ωραία λύση σε Prolog, και ρωτάμε: έλυσες την άσκηση ή απλώς κατάφερες να περάσουν τα tests;