Su tarea es generar una palabra sin sentido que sea razonablemente pronunciable con el número especificado de 'sílabas'. Cada vez que se ejecuta el programa, posiblemente se obtenga una palabra diferente sin sentido.
Pronunciabilidad
Una palabra pronunciable se compone de sílabas, que a su vez están formadas por un grupo de vocales que posiblemente se intercala entre dos grupos de consonantes. No todos los sonidos son pronunciables en todas las posiciones, y dado que esto depende del idioma, utilizaremos patrones comprensibles para los hablantes de inglés
Grupos de consonantes iniciales:
b c d f g h j k l m n p r s t v wy z bl br ch cl cr dr fl fr gh gl gn gr kn ph pl pr qu sc sh sk sl sm sn sp th th tr wh wr sch scr shm shr squ str str
Grupos de vocales:
a e i o u ae ai ao au ea ee ei eu ia ie io oa oe oi oo ou ue ui
Finalización de los grupos de consonantes:
bcdfglmnprstxz bt ch ck ct ft gh gn lb ld lf lk ll lm ln lp lt mb mn mp nk ng nt ph pt rb rc rd rf rg rk rl rm rn rp rt rv rz sh sk sp ss st zz lch lsh lth rch rsh rs rth sch tch
Combinando sílabas
Los grupos de consonantes iniciales y finales son opcionales en general, sin embargo, no puede colocar una sílaba que termine con una vocal inmediatamente antes de que comience con una vocal.
Descargo de responsabilidad
En aras de la simplicidad, ciertas palabras en inglés no se pueden generar de esta manera, como vacío, xilófono, mnemotécnico, pterodáctilo, hermoso, bla, ellos, wow y la mayoría de los plurales.
Visión general
Posibles patrones de sílabas con esta clave:
(SC) = consonante inicial; (V) = grupo vocal; (CE) = consonante final
Para una sílaba:
- (SC) (V) (CE)
- (V) (CE)
- (SC) (V)
- (V)
Con dos sílabas:
- (SC) (V) (EC) (SC) (V) (EC)
- (SC) (V) (EC) (SC) (V)
- (SC) (V) (CE) (V) (CE)
(SC) (V) (CE) (V)
(SC) (V) (SC) (V) (CE)
(SC) (V) (SC) (V)
(V) (CE) (SC) (V) (CE)
- (V) (CE) (SC) (V)
- (V) (CE) (V) (CE)
(V) (CE) (V)
(V) (SC) (V) (CE)
- (V) (SC) (V)
... y así
Ejemplos
1 sílaba
- charst
- apretado
- chillido
- eess
- shue
- oo
- cheezz
2 sílabas
- jazzcrap
- whylprog
- comiendo
- umba
- ola
- tener
- ingsoc
- greespheurz
- bleuspoo
3 sílabas
- brokiompic
- Squirdshlicker
- capital
- opengtrass
- doble pensamiento
- hermano mayor
- phoebliaptmoo
- skolfblauquent
4 sílabas
- Strawishoepick
- patchworkzombie
- prearneajoomie
- slephotoschou
- doble plusgood
Codificación
Entrada: un número entero para la cantidad de sílabas a generar
Salida: una palabra (probablemente) sin sentido que tiene muchas sílabas
Reglas
- Se requiere alguna forma de aleatoriedad (psuedo). Todas las combinaciones de sílabas deberían ser (teóricamente) posibles de generar, aunque la distribución no tiene que ser uniforme.
- Puede suponer que su generador es aperiódico, por lo que no tiene que ser matemáticamente posible generar todas las palabras posibles (puede que no tenga un período lo suficientemente largo en realidad) y no necesita proporcionar ningún tipo de prueba de que su generador puede, de hecho, producir todas las palabras posibles.
- Su generador debe ser capaz de producir al menos 255 valores distintos, por lo que no puede devolver 4 cada vez que se llama al generador.
- Lo que en última instancia es importante es que de alguna manera incluya todos los grupos de letras anteriores en su código, que cada grupo de letras tenga una probabilidad distinta de cero de ser elegido, y que cada patrón de sílabas tenga una probabilidad distinta de cero (si se proporciona con una aleatoriedad verdadera).
- Debes admitir hasta 16 palabras de sílaba
- Además de las reglas sobre la combinación de sílabas, la palabra de salida no debe tener:
- 3 vocales consecutivas (
a
e
i
o
u
; esto puede suceder para lasqu
palabras) - 3 consonantes coincidentes consecutivas
- 3 vocales consecutivas (
¡Buena suerte!
Tenga en cuenta que esto es distinto de Generar una palabra pronunciable por varias razones:
- Número variable de sílabas especificadas por entrada en lugar de un requisito estricto de 10 letras.
- Este desafío agrega grupos de letras no exhaustivos que deben estar codificados (inteligentemente) y permite más variantes de sílabas, por lo que el código no se puede copiar del otro desafío
- Squirdshlicker. ¿Necesito decir mas?
También olvidé engañar el cheque, pero resulta que esto trae suficientes novedades a la mesa que no importan. Después de todo, hay cientos de desafíos de quine variantes.