Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Tachikomaia en 29 Febrero 2024, 06:53 am



Título: Restricciones en generador de dudas muy simples.
Publicado por: Tachikomaia en 29 Febrero 2024, 06:53 am
En una duda como:
"En 1 < C ¿qué valor sería correcto dar a C?"
...hay una estructura de 2 variables y 1 candidato.

Un candidato es esencial en una duda, es lo que la resuelve. Si hubiera sólo variables no sería posible una duda de esa manera: "En 1 < 2 ¿qué valor sería correcto dar a C?", porque no hay C que deba cumplir algo. Sería posible una así:
"1 < 2 ¿es V o F?"
...pero no les veo la gracia, y son más complejas por tener 3 variables y 1 candidato.

Así, esta es la duda más simple que pude imaginar:
"En C C C ¿qué valor sería correcto dar a C?"
...porque la estructura en cantidad es la misma, pero sólo hay 1 tipo de cosa.
Puede haber algo de incoherente en esto porque la parte 2 se puede tomar "literal", es decir, así seria una solución: "==" == "=="
...pero me parece aceptable.

Quiero hacer un generador de dudas así, sé cómo generar una lista así:
1: C1 C1 C1
2: C1 C1 C2
3: C1 C1 C3
4: C1 C2 C1
5: C1 C2 C2
6: C1 C2 C3
etc
...pero hay muchas de esas dudas que serían iguales entre sí, quiero evitar que se generen iguales, además por ejemplo no tiene sentido que haya un C3 si no hay un C2. Y una duda en que todos los C sean distintos no tiene gracia (al menos según lo que vi) así que tampoco quiero de esas.

La ista la generaría haciendo algo como:
Código:
P1 = 1
P2 = 1
P3 = 1
Mostrar duda.
Puntero = 3
Si eval("P"+Puntero) < 3
  Eso++ e ir a Mostrar
sino
  Eso = 1
  Si Puntero>1
    Puntero-- e ir al 1er Si.
  sino
    fin.
¿Cómo pongo las restricciones?


Título: Re: Restricciones en generador de dudas muy simples.
Publicado por: Parado_larga_duracion_ESP en 29 Febrero 2024, 08:55 am
Código
  1. function combinaciones(array) {
  2.  let result = [];
  3.  function combinar(actual, restantes) {
  4.    if (restantes.length === 0) {
  5.      result.push(actual);
  6.    } else {
  7.      for (let i = 0; i < restantes.length; i++) {
  8.        let siguiente = actual.concat(restantes[i]);
  9.        let nuevoRestantes = restantes.slice(0, i).concat(restantes.slice(i + 1));
  10.        combinar(siguiente, nuevoRestantes);
  11.      }
  12.    }
  13.  }
  14.  combinar([], array);
  15.  return result;
  16. }
  17. let array = [1, 2, 3];
  18. console.log(combinaciones(array));
  19.  

ChatGPT haciendo código *****, pero bueno. Las restricciones son condicionales. Donde te interese.

Creo que hay temario (algoritmos, IA), pero a mí me deja de interesar sin porros ni nada.


Título: Re: Restricciones en generador de dudas muy simples.
Publicado por: Tachikomaia en 29 Febrero 2024, 10:23 am
No sé ese lenguaje pero si lo que me diste es cómo generar la lista sin restricciones, eso lo sé, lo que necesito son las restricciones.