C# para estudiantes

Page 313

Ejemplo práctico: Frasier

291

private string transformar(string pregunta) { string respuestaTemp; if (pregunta.IndexOf(" Yo ") >= 0) { respuestaTemp = Cambiar(pregunta, " Yo ", " usted "); respuestaTemp = Cambiar(respuestaTemp, " me siento ", " se siente "); return Cambiar(respuestaTemp, " mi ", " su ") + "¿Por qué?"; } else if (pregunta.IndexOf(" no ") >= 0) { return "¿'No'? - ¡Qué negativo! Por favor, explíqueme."; } else { return "'" + pregunta + ".' Por favor, explíqueme."; } }

Tenga en cuenta que para que este código funcione debemos añadirle nuestro método Cambiar. Para que las respuestas parezcan más humanas, agregamos un elemento aleatorio: variación = númeroAleatorio.Next(0, 2); if (variación == 0) { respuesta = transformar(pregunta); } else if (variación == 1) { respuesta = "¿Por qué se siente así?"; } else { respuesta = "¡Por favor, sea sincero!"; }

El entero aleatorio provee tres casos. En dos de ellos producimos una respuesta estándar, pero en el tercero transformamos la pregunta; es decir, reemplazamos cada ocurrencia de " Yo " por " usted ". Además, añadimos espacios adicionales al principio y al final de la pregunta para ayudar a detectar palabras completas. Cabe mencionar que el programa no tiene conocimiento del significado ni de la gramática castellana. Para enriquecerlo a tal grado se requeriría un esfuerzo de programación bastante grande.

www.FreeLibros.me


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.