¿Qué tipos de problema hay?
Quiero hacer hacer un diagrama de flujo o algoritmo para mí, para definir qué tipo de programa usar según el caso.
Por ejemplo:
Código a:
Ver originalSi requiere más de una acción para solucionarse
Si se puede describir sin listas ni variables externas al problema
// Si se requiere una ecuación puede que sea un subproblema
Si usa números
Si usa números decimales
Si usa texto
// Usar versión Long Dec y Tx.
Sino
// Versión Long Dec.
Sino si usa texto
// Long Num y Tx.
Sino
// Long Num.
Sino
// Long Tx.
Sino si se puede describir con variables externas al problema
Si usa números
Si usa números decimales
Si usa texto
// Ext Long Dec y Tx.
Sino
// Ext Long Dec.
Sino si usa texto
// Ext Long Num y Tx.
Sino
// Ext Long Num.
Sino
// Ext Long Tx.
Sino si se puede describir con una lista
Si usa números
Si usa números decimales
Si usa texto
// List Long Dec y Tx.
Sino
// List Long Dec.
Sino si usa texto
// List Long Num y Tx.
Sino
// List Long Num.
Sino
// List Long Tx.
Sino si se puede describir sin acción o sin variables de situación
Si se puede describir sin listas ni variables externas al problema
// Si se requiere una ecuación puede que sea un subproblema
// Simplest
Sino si se puede describir con variables externas al problema
// Ext Simplest
Sino si se puede describir con una lista
// List Simplest
Sino si se puede describir sin listas ni variables externas al problema
// Si se requiere una ecuación puede que sea un subproblema
// One
Sino si se puede describir con variables externas al problema
// Ext One
Sino si se puede describir con una lista
// List One
Sin duda puede y debe perfeccionarse, pero bueno, escrito es lo mejor que tengo por ahora (en mi mente no diría que está escrito, pero si lo está, lo que hay aún no lo pude leer xP ).
Lo de los decimales lo debo quitar, porque en realidad la diferencia es que requiere una variable extra (Precisión) y lo demás debe ajustarse manualmente, así que en principio no hay mucha diferencia que sea útil tener preestablecida. Más que versiones, para algunos casos necesito estrategias o subalgoritmos.
Como se ve, el que haya números o textos sólo importa si el problema requiere más de una acción para resolverse. ¿Qué significa eso?
Ejemplo de problema solucionable en 1 acción:
Tu rival tiene 500 HP, debes reducirlos a 0 o menos y dispones de 3 ataques:
1- Magia de fuego, que le quita 250
2- Magia de rayo, que le quita 125
3- Magia de hielo, que le quita 500
Podría agregar posibles ataques pero está claro que el problema puede solucionarse en 1 acción, 1 ataque.
Para estos problemas hice este diagrama:
...pero fue antes de haber hecho el "algoritmo" de arriba, es decir, este tipo de problemas se dividen en 2 y quizá otros (debo ver el algoritmo, no lo sé de memoria): Los que requieren definir situación y acciones y los que sólo una de ellas.
Para los problemas que requieren más de una acción no tengo un diagrama en pc, pero sí lo tengo, e igual que no lo postee es otro tema. Aclaro por las dudas.
Si lo que dije les resultó basura quizá esto les guste más (no es mío):
http://www.eumed.net/libros-gratis/2007a/257/3.3.htm http://www.tiposde.org/escolares/512...-de-problemas/
...pero a mí no me sirvió de mucho, creo.
En cuanto al problema planteado, he estado ajustando mi cabeza, o esperando que se ajuste, a este tema de la necesidad de usar variables externas (*) o una lista. Por cierto olvidé explicar eso, pero más o menos se entiende. En este caso me pidieron analizar una lista (o dos, debo pensar en eso) que más o menos puede describirse a partir de poco, de 3 variables y un algoritmo ¿no? Pero ¿qué pasa si me piden que analice una lista de nombres que no tiene sentido o lógica aparente? Es más complicado. Bueno, anduve pensando un poco en estas cosas.
(*): En posts anteriores las llamé internas, ahora externas. Al decir internas me refería a que son parte del programa pero no del problema, es decir, son externas al problema. Actualmente me decidí por llamarle externas, creo que queda más claro.
Saludos.