Foro SofosAgora

Foro abierto a los intereses de sus usuarios. Debate, aprende y diviértete.
Fecha actual 27 Abr 2018, 04:37

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 1 mensaje ] 
Autor Mensaje
 Asunto: ¿Programa generador de combinaciones de condiciones que...?
NotaPublicado: 15 Dic 2017, 20:22 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 8050
Elije en cuántas palabras lo quieres.

Edit: Le mostré este tema a un programador y no entendió ni jota, se lo tuve que explicar oralmente. Geez.

En el título pregunto si existe o cómo podría hacer "algo" que evidentemente no he dicho completamente, lo digo luego, en el texto. No se puede decir todo en el título...

Luego, lo de "Elige...", se refiere a en cuántas palabras quieres que te explique el tema. El programador pensó que en este tema había un programa que generaba algo según en qué spoiler hicieran clic
.

1:
Spoiler: show
Help!

3:
Spoiler: show
¿Cómo?

Need ifs?

11:
Spoiler: show
Valorizo y muestra condiciones combinadas ¿cómo?

Offtopic:
¿El ifs es necesario?

27:
Spoiler: show
Especifico valores y muestra útil combinación de condiciones sin modificarlos.

Tengo pseudocódigo para caso sencillo ¿cómo sería para complicado?

------------------------------------------------------------------------------------------------------------

Offtopic:
¿Es necesario usar ifs en programación?

58:
Spoiler: show
Especifico valores y muestra una combinación de condiciones.

Sin modificar algún valor.

Algunas combinaciones son inútiles, no quiero que las muestre.

Tengo un pseudocódigo para generar 1 condición usando 1 variable ¿cómo sería para 2 de tipo &&? Pensemos, y luego para or, etc.

------------------------------------------------------------------------------------------------------------

Offtopic:
¿Es necesario usar ifs en programación o se puede usar otros métodos?

185:
Spoiler: show
Especifico dos cantidades, y me muestra una combinación de condiciones que me sea útil.

Nunca implicaría modificar algún valor.

Hipótesis:
- Los símbolos > o => son innecesarios.
- Una condición que mencione 2 veces la misma variable, aunque sea de forma opuesta, no tiene sentido (*).

(*): No se cumpliía en ciertos casos de modificación de valores.

Pseudocódigo para generar 1 condición usando 1 variable:
Código:
PSimbMat1 = “”
PSimbMat2 = “-”
Random = Entero 1 ~ 2
Si Random es 1:
   Cond1Val1 = eval (“PSimbMat” + Entero 1~2) + “V”
   Cond1Val2 = -20 ~ 20
sino
   Cond1Val1 = -20 ~ 20
   Cond1Val2 = eval (“PSimbMat” + Entero 1~2) + “V”
PSimbComp1 = “<”
PSimbComp2 = “<=”
PSimbComp3 = “==”
PSimbComp4 = “!=”
Cond1Simb = eval (“PSimbComp”+ Entero 1 ~ 4 )
Cond1 = Cond1Val1 + “ “ + Cond1Simb + “ “ + Cond1Val2


Siguiente paso: Pseudocódigo para generar 1 combinación && de 2 condiciones usando 1 variable:
Pensamos...

Luego pensemos que también pueda ser or, etc.

------------------------------------------------------------------------------------------------------------

Pregunta offtopic:
¿Es necesario usar ifs en ciertos casos o se puede usar siempre otros métodos?

470:
Spoiler: show
Idea:
Especifico una cantidad de variables, otra de condiciones, y el programa me muestra al azar una combinación de condiciones que cumplan mis especificaciones, sin redundancias ni que sean imposibles de cumplir.

Notas:
- Las condiciones que me diría nunca implicarían modificar algún valor.
- Los números que me diría siempre serían >X y <Y, y su largo sería >Z y <A. Dichos valores se determinarán en base a mis necesidades o las limitaciones del intérprete que use.

Hipótesis respecto a las condiciones:
- Si tienen los símbolos > o => pueden ser sustituidas por condiciones de símbolos contrarios (ergo son innecesarias, no las usaré porque además me resultan más difíciles de entender que las otras).
- Si mencionan 2 veces la misma variable son redundantes o imposibles de cumplir (*).
- Si mencionan una variable y a su opuesta, son redundantes o innecesarias (*).

(*): Esto no se cumpliía en ciertos casos donde se modificarían valores.

Decidme algo/cosas importante/s que no haya notado.

Pseudocódigo para generar 1 condición usando 1 variable:
Código:
PSimbMat1 = “”
PSimbMat2 = “-”
Random = Entero 1 ~ 2
Si Random es 1:
   Cond1Val1 = eval (“PSimbMat” + Entero 1~2) + “V”
   Cond1Val2 = -20 ~ 20
sino
   Cond1Val1 = -20 ~ 20
   Cond1Val2 = eval (“PSimbMat” + Entero 1~2) + “V”
PSimbComp1 = “<”
PSimbComp2 = “<=”
PSimbComp3 = “==”
PSimbComp4 = “!=”
Cond1Simb = eval (“PSimbComp”+ Entero 1 ~ 4 )
Cond1 = Cond1Val1 + “ “ + Cond1Simb + “ “ + Cond1Val2


Siguiente paso (el cual paso de hacer, por ahora):
Transformar el pseudocódigo en código y probarlo.

Siguiente paso: Pseudocódigo para generar 1 combinación && de 2 condiciones usando 1 variable:
Pensamos...

Luego pensemos que también pueda ser or. Luego... etc.

Por si no quedó clara la duda:
¿Cómo hacer un programa que al especificarle 2 números genere al azar una combinación de condiciones de modo que ésta:
- Tenga una cantidad de variables igual al 1er número especificado.
- Tenga una cantidad de condiciones igual al 2ndo número especificado.
- No implique modificación de valores.
- No implique redundancias.
- Sea posible de cumplirse.
?
Descartando además los casos mencionados en las hipótesis.

------------------------------------------------------------------------------------------------------------

Pregunta offtopic:
¿Es necesario usar ifs en ciertos casos o se puede usar siempre otros métodos?

En vez de hacer ciertos ifs usé evals de ciertos modos.

En vez de usar el if que está en el pseudocódigo ¿podría usar otra cosa? ¿cómo? Tal vez así:
PVal1 = eval (“PSimbMat” + Entero 1~2) + “V”
PVal2 = -20 ~ 20
Random = Entero 1~2
Cond1Val1 = eval (“PVal” + Random)
Cond1Val2 = eval (“PVal” + (3-Random))
Me falta probarlo, pero si esta es la solución, dudo que esto de usar eval en vez de ifs pueda hacerse siempre. Si fuesen más de 2 posibilidades... m...

981:
Spoiler: show
Idea sin pulir:
Especifico una cantidad de variables y otra de condiciones, y el programa me muestra al azar una combinación de condiciones que cumplan con las cantidades que especifiqué.

Ejemplo:
Especifico que quiero que haya 1 variable en una combinación de 2 condiciones, y el programa podría mostrarme “6 == V or V == 8”.
1 variable (V) y una combinación de 2 condiciones.

Nota:
- Las condiciones que me diría nunca implicarían modificar algún valor.

Utilidad:
Quiero ir agregando condicones a la combinación de condiciones de un programa P1, lo cual me resulta un poco complicado, así que quiero automatizarlo un poco, mediante este otro programa P2 cuya utilidad estoy comentando. P1 es uno de tantos ejercicios para aprender a hacer programas que resuelvan problemas, hasta llegar al de cómo causar el bien en la parte material y/o energética de la realidad pero no en un “mundo virtual” ni en ficción, etc.

Requerimientos no tenidos en cuenta hasta ahora:
- Los números a mostrar no pueden ser mayores a cierto número.
- Los números a mostrar no pueden ser menores a cierto número.
- Los números a mostrar no pueden tener más de cierto largo.

Problema:
Puede mostrar combinaciones redundantes y/o imposibles de cumplir.

Ejemplo:
Especifico que quiero que haya 6 variables y 5 condiciones y el programa podría mostrarme “((V1 != V2 or V1 < V2) && V1 == V2 && V3 < V4) or V5 == V6”.
La condición V1 < V2 es redundante porque está combinada con otra alternativa (V1 != V2) que se cumple en todos los casos de esta, y en más.
La condición V1 != V2, que se exige, es imposible de cumplir a la vez que V1 == V2, que también se exige.

Idea optimizada:
Especifico una cantidad de variables y otra de condiciones, y el programa me muestra al azar una combinación de condiciones que cumplan las cantidades que especifiqué y de modo que no tengan redundancias ni sean imposibles de cumplir.

Hipótesis:
- Las condiciones que tengan los símbolos > o => pueden ser sustituidas por condiciones con los símbolos contrarios (ergo son innecesarias, no las usaré porque además me resultan más difíciles de entender que las otras).
- Las condiciones que mencionan 2 veces la misma variable son redundantes (ej: V=V) o imposibles de cumplir (ej: V != V) (*).
- Las condiciones que mencionan una variable y a su opuesta, son redundantes (ej: V!=-V) o innecesarias (ej: V != -V es lo mismo que V == 0. ej2: -V < V es lo mismo que decir 0 < V) (*).

(*): Esto no se cumple en ciertos casos donde se modifican valores, pero ya dije que por ahora eso no sucedería.

¿Algo o cosas importantes que yo no haya notado? Decidme cual/es

Posibles optimizaciones:
- En vez de mostrar una combinación, mostrar todas las posibles.
- Posibilidad de especificar la cantidad de &&s y ors.
- Posibilidad de especificar la cantidad de &&s en un or y de ors en un && (no entiendo bien ese tema, tal vez he dicho una chorrada).
- Posibilidad de especificar cuántas veces se nombra cada variable.
- Posibilidad de especificar cuántas veces se nombra cada variable en un && y or (chorrada maybe).
Etc.

Pseudocódigo para generar 1 condición usando 1 variable:
Código:
// PSimbMat = Posible simbolo matemático.
PSimbMat1 = “”
PSimbMat2 = “-”
Random = Entero 1 ~ 2
// CondXValY = ValorY de la condición X.
Si Random es 1:
   Cond1Val1 = eval (“PSimbMat” + Entero 1~2) + “V”
   Cond1Val2 = -20 ~ 20
sino
   Cond1Val1 = -20 ~ 20
   Cond1Val2 = eval (“PSimbMat” + Entero 1~2) + “V”
// PSimbComp = Posible simbolo comparativo.
PSimbComp1 = “<”
PSimbComp2 = “<=”
PSimbComp3 = “==”
PSimbComp4 = “!=”
Cond1Simb = eval (“PSimbComp”+ Entero 1 ~ 4 )
Cond1 = Cond1Val1 + “ “ + Cond1Simb + “ “ + Cond1Val2


Siguiente paso (el cual paso de hacer, por ahora):
Transformar el pseudocódigo en código y probarlo.

Siguiente paso: Pseudocódigo para generar 1 combinación && de 2 condiciones usando 1 variable:
Pensamos...

Luego pensemos que también pueda ser or. Luego... etc.

Por si no quedó clara la duda:
¿Cómo hacer un programa que al especificarle 2 números genere al azar una combinación de condiciones de modo que ésta:
- Tenga una cantidad de variables igual al 1er número especificado.
- Tenga una cantidad de condiciones igual al 2ndo número especificado.
- No implique modificación de valores.
- No implique redundancias.
- Sea posible de cumplirse.
?
Descartando además los casos mencionados en las hipótesis, suponiendo que éstas no son erradas.

------------------------------------------------------------------------------------------------------------

Pregunta offtopic:
¿Es necesario usar ifs en ciertos casos o se puede usar siempre otros métodos?

Yo en vez de hacer
Código:
Si random == 1
   Cond1Simb = “<”
sino si random == 2
   Cond1Simb = “<=”

etc, hice variables que guardan los símbolos, y para definir la variable Cond1Simb hice que su valor fuese una referencia a uno de los símbolos, dependiendo del valor de random. De ese modo el valor varía sin el bodrio de hacer tantos ifs.

En vez de usar un if para agregar el símbolo de - en algunos casos, hice variables con las diferentes posibilidades y que en el momento de hacer la modificación dependiente de random se hiciera referencia a una de las posibilidades, dependiente de random, hecha de modo que en parte random pudiera nombrarla.

En vez de usar el if que está en el pseudocódigo ¿podría usar otra cosa? ¿cómo? Tal vez así:
PVal1 = eval (“PSimbMat” + Entero 1~2) + “V”
PVal2 = -20 ~ 20
Random = Entero 1~2
Cond1Val1 = eval (“PVal” + Random)
Cond1Val2 = eval (“PVal” + (3-Random))
Me falta probarlo, pero si esta es la solución, dudo que esto de usar eval en vez de ifs pueda hacerse siempre. Si fuesen más de 2 posibilidades... m...


:lol:

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 1 mensaje ] 

Todos los horarios son UTC + 1 hora [ DST ]


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO