Funcion palíndromo.

Iniciado por ollessor, 16 Septiembre 2008, 18:27 PM

0 Miembros y 1 Visitante están viendo este tema.

Serapis

#20
Cita de: dijsktra en  4 Abril 2018, 17:48 PM
...
Sin embargo, si tengo dos objecciones 'entre humanos' con este algoritmo:
...
...por poner quejas, en la solución que propuse tampoco puse distinción de mayúsculas respecto de minúsculas, se da por sobreentendido... ya que esa no es la raíz del problema que requiere aclaración...

El objetivo del pseudocódigo, es abstraerse de tonterías como la inicialización de variables y cuestiones específicas de tal o cual lenguaje y centrarse en el problema de verdad... se inicializa exclusivamente las variables que sea precisas con el valor que toque, cuando sea distinto del valor por defecto para el tipo de datos...

Hay soluciones para ejercicios, y soluciones, profesionales. Creo que la cuestión tratada, entra en el de 'ejercicio de clase', que típicamente cada año, pondrán algunos profesores a sus alumnos. Si a un alumno, le presentan un problema y le dan un plazo de 2-4 días para entregarlo, carece de sentido que pierda el tiempo tratando de resolver todos los posibles problemas del mundo que se le presenten, porque entonces le faltaría tiempo... (yo le dediqué el tiempo que traté en escribirlo... 5 minutos o así y luego lo repasé levemente...
Se supone que al alumno, se le darán varias frases y deberá demostrar cuantas y cuales son palíndromas, y me temo que no le van a reclamar que el algoritmo solvente el problema en cualquier circunstancia posible (no habrá un botón nuclear que se active si falla) y en la realidad, no existen frases en ningún libro con 420 espacios (ni muchos menos) seguidos tal que deba comprobarse que sea palíndroma y desborde un bucle...





De todas maneras, si se trata de ser quisquilloso, mira como son las cosas... tu algoritmo fallará, con el siguiente palíndromo:

"Es Adán, ya ve yo soy Eva y nada se"

Por qué, por que por lo mismo que tu te sacas de la manga los 420 espacios (que no figuran en ninguna frase razonable), yo me saco de la manga otros signos de puntuación que no son expresamente espacios, como la coma del ejemplo, un punto, un guión, dos puntos, un tabulador en vez de un espacio, etc... y que para el caso tampoco deben contar al considerar un palíndromo.... pero a diferencia de tus quejas, esto si es razonable que se dé en las frases...



p.d.: Tambén me resulta graciosa, esta frase:
Cita de: dijsktra en  4 Abril 2018, 17:48 PMDe acuerdo. Una puntualización "pedantic" (perdón). Son los 'caracteres no válidos' los que delimitan las palabras dentro de una 'frase'
Yo también estoy de acuerdo...

Cuando creo una función que deba aceptar o rechazar ciertos caracteres, típicamente la llamaré:
       EsCaracterValido(...) ó
       EsCaracterInvalido(...)
Pero no tengo ninguna objección a que tu en tus códigos la llames:
       EsCaracterQueDelimitaLasPalabrasDentroDeUnaFrase(...)


dijsktra

Perdón, tengo una objeción contra mis "objecciones".
En nuestra querida lengua, objeción es con una c. Y objección es un arcaísmo.
Mi latín me ha fallado (otras lenguas lo conservan, como el inglés, object, objection). Quien sabe... A lo mejor dentro de 500 años, los internautas vean que objeción y objeto, son arcaísmos, y mandan poner ojeto y ojeción, como ahora con sujeto y sujeción.


Cita de: dijsktra en  4 Abril 2018, 17:48 PM

Sin embargo, si tengo dos objecciones 'entre humanos' con este algoritmo:

Ya lo he cambiado allí.
Si la depuración es el proceso de eliminar fallos en el software, entonces programar debe ser el proceso de ponerlos dentro. (Edsger Dijsktra)