Deine Eltern haben dich und deine Geschwister zu einem Basketballspiel zwei gegen zwei herausgefordert. Sie sind sich sicher, dass sie gewinnen, und lassen dich die ersten paar Punkte machen. Dann übernehmen sie aber das Spiel. Weil du einen kleinen Schub brauchst, fängst du an, Pig Latin zu sprechen. Das ist eine erfundene Kindersprache, die für Nicht-Kinder schwer zu verstehen ist. So gewinnst du die Oberhand und besiegst deine Eltern!
Deine Aufgabe ist es, Text von Englisch nach Pig Latin zu übersetzen. Die Übersetzung ist durch vier Regeln definiert, die sich das Muster von Vokalen und Konsonanten am Wortanfang ansehen. Diese Regeln betrachten die Verwendung von Vokalen und Konsonanten in jedem Wort:
a, e, i, o und u
Wenn ein Wort mit einem Vokal beginnt oder mit "xr" oder "yt" anfängt, fügst du am Ende des Wortes einen "ay"-Laut hinzu.
Zum Beispiel:
"apple" -> "appleay" (beginnt mit einem Vokal)"xray" -> "xrayay" (beginnt mit "xr")"yttria" -> "yttriaay" (beginnt mit "yt")Wenn ein Wort mit einem oder mehreren Konsonanten beginnt, verschiebst du diese Konsonanten zuerst ans Ende des Wortes und fügst dann am Ende des Wortes einen "ay"-Laut hinzu.
Zum Beispiel:
"pig" -> "igp" -> "igpay" (beginnt mit einem einzelnen Konsonanten)"chair" -> "airch" -> "airchay" (beginnt mit mehreren Konsonanten)"thrush" -> "ushthr" -> "ushthray" (beginnt mit mehreren Konsonanten)Wenn ein Wort mit null oder mehr Konsonanten beginnt, auf die "qu" folgt, verschiebst du zuerst diese Konsonanten (falls vorhanden) und den "qu"-Teil ans Ende des Wortes und fügst dann am Ende des Wortes einen "ay"-Laut hinzu.
Zum Beispiel:
"quick" -> "ickqu" -> "ay" (beginnt mit "qu", keine vorangehenden Konsonanten)"square" -> "aresqu" -> "aresquay" (beginnt mit einem Konsonanten, auf den "qu folgt)Wenn ein Wort mit einem oder mehreren Konsonanten beginnt, auf die "y" folgt, verschiebst du zuerst die Konsonanten vor dem "y" ans Ende des Wortes und fügst dann am Ende des Wortes einen "ay"-Laut hinzu.
Einige Beispiele:
"my" -> "ym" -> "ymay" (beginnt mit einem einzelnen Konsonanten, auf den "y" folgt)"rhythm" -> "ythmrh" -> "ythmrhay" (beginnt mit mehreren Konsonanten, auf die "y" folgt)Melde dich bei Exercism an, um Delphi Pascal mit 76 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.
Wir schauen uns Pattern Matching und reguläre Ausdrücke an sowie eine schöne Prolog-Lösung, und wir fragen: Hast du die Übung gelöst oder nur die Tests zum Laufen gebracht?