Ver Mensaje Individual
  #8 (permalink)  
Antiguo 10/10/2015, 23:02
Avatar de Tachikomaia
Tachikomaia
 
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: Reto/favor: Plantead problemas sencillos que no pueda resolver.

¿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 original
  1. Si requiere más de una acción para solucionarse
  2.     Si se puede describir sin listas ni variables externas al problema
  3.         // Si se requiere una ecuación puede que sea un subproblema
  4.         Si usa números
  5.             Si usa números decimales
  6.                 Si usa texto
  7.                     // Usar versión Long Dec y Tx.
  8.                 Sino
  9.                     // Versión Long Dec.
  10.             Sino si usa texto
  11.                 // Long Num y Tx.
  12.             Sino
  13.                 // Long Num.
  14.         Sino
  15.             // Long Tx.
  16.     Sino si se puede describir con variables externas al problema
  17.         Si usa números
  18.             Si usa números decimales
  19.                 Si usa texto
  20.                     // Ext Long Dec y Tx.
  21.                 Sino
  22.                     // Ext Long Dec.
  23.             Sino si usa texto
  24.                 // Ext Long Num y Tx.
  25.             Sino
  26.                 // Ext Long Num.
  27.         Sino
  28.             // Ext Long Tx.
  29.     Sino si se puede describir con una lista
  30.         Si usa números
  31.             Si usa números decimales
  32.                 Si usa texto
  33.                     // List Long Dec y Tx.
  34.                 Sino
  35.                     // List Long Dec.
  36.             Sino si usa texto
  37.                 // List Long Num y Tx.
  38.             Sino
  39.                 // List Long Num.
  40.         Sino
  41.             // List Long Tx.
  42. Sino si se puede describir sin acción o sin variables de situación
  43.     Si se puede describir sin listas ni variables externas al problema
  44.         // Si se requiere una ecuación puede que sea un subproblema
  45.         // Simplest
  46.     Sino si se puede describir con variables externas al problema
  47.         // Ext Simplest
  48.     Sino si se puede describir con una lista
  49.         // List Simplest
  50. Sino si se puede describir sin listas ni variables externas al problema
  51.     // Si se requiere una ecuación puede que sea un subproblema
  52.     // One
  53. Sino si se puede describir con variables externas al problema
  54.     // Ext One
  55. Sino si se puede describir con una lista
  56.     // 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.
__________________
"No se puede borrar hasta", PHPeros.