combinaisons

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : combinaisons

Re: combinaisons

par sirakawa » 11 juin 2011, 11:11

J'aime assez l'idée générale : le problème est surtout et d'abord conceptuel : comment sont enregistrées ces informations ?
Je n'ai JAMAIS parlé de base de données, car ce n'est pas le moins du monde le sujet.
Ces éléments sont le produit de saisies d'un utilisateur qui peut indiquer jusqu'à quinze mots (NM) et jusqu'à 14 connecteurs(NC) où (NM > 1 et NM < 16; et NC > 0 et NC < NM); dans l'ordre où il fait sa saisie, l'ensemble produit une phrase, ou une formule, qui fait sens:
gigantesque <plus grand que> Immense <plus grand que> grand <plus grand que> moyen <plus grand que> petit
Henri IV <époux de> Marie de Médicis <parents de> Louis XIII <époux de>Anne d'Autriche
-2 < -1 < 0 <12
-2 > -4 < 3 < 6
Ces éléments seront stockés tels quels pour être présentés séparément en vrac à un apprenant qui devra les réordonner.

Il faut s'assurer qu'une seule combinaison est la réponse attendue. Il peut en effet se produire que les connecteurs choisis permettent un agencement plausible mais qu'on n'a pas prévu. D'où la nécessité de produire les combinaisons possibles, avec le complication qu'elles doivent contenir altenativement un mot et un connecteur dans cet ordre.
Je suis d'avis que la solution est de l'ordre du modèle de données, pas au niveau de la programmation. En d'autres termes, ça veut dire que ça se situe au niveau de la manière dont ces informations sont structurées en base de données. Il faudrait donc connaître l'état des lieux pour y opposer, si nécessaire, des correctifs qui simplifieront d'autant la programmation qui vient derrière. :)
Moi modestement je proposerais sans opposer...

Merci pour cette intervention productive...

Re: combinaisons

par Cyrano » 11 juin 2011, 00:05

J'aime assez l'idée générale : le problème est surtout et d'abord conceptuel : comment sont enregistrées ces informations ?

Je suis d'avis que la solution est de l'ordre du modèle de données, pas au niveau de la programmation. En d'autres termes, ça veut dire que ça se situe au niveau de la manière dont ces informations sont structurées en base de données. Il faudrait donc connaître l'état des lieux pour y opposer, si nécessaire, des correctifs qui simplifieront d'autant la programmation qui vient derrière. :)

Re: combinaisons

par devlop78 » 10 juin 2011, 03:05

Cela dit, si t'as fonction récursive fait par exemple en entrée $tableau, elle peut prendre un paramètre et relancer la fonction avec $tableau[parametre]. Ce qui fait que si count($tableau) est à 1, elle n'aura pas à appeler encore la fonction (il faut bien que la récursivité s'arrête un jour ^^).

J'en avais fait une comme ça, on j'avais un tableau potentiellement illimité, et je devais, à partir d'un fils, trouvé le père absolu. Il fallait donc que je parte de chaque père, que je descende jusqu'à trouver le fils, c'est alors que l'information remontait pour déterminer le père. un vrai casse-tête, mais avec de la réflexion et du refactoring, on y arrive ^^

Re: combinaisons

par macgawel » 09 juin 2011, 15:16

Je coïnce en PHP.
J'ai bien trouvé un script Python qui a l'air de faire ce que je veux, mais ça me déplait d'utiliser un script dans un langage que je ne connais pas....
Merci pour toute aide.
Et en PHP, tu en es où ? Qu'est-ce qui coince ?
J'y ai bien pensé et ça fait le boulot, mais le nombre d'éléments est variable
de 1 à 1( pour un tableau
de 1 à 14 pour l'autre...
Ben il suffit de faire une fonction récursive avec une profondeur de count($mots) :mrgreen:

Re: combinaisons

par sirakawa » 07 juin 2011, 11:10

J'y ai bien pensé et ça fait le boulot, mais le nombre d'éléments est variable
de 1 à 1( pour un tableau
de 1 à 14 pour l'autre...

Re: combinaisons

par devlop78 » 07 juin 2011, 04:45

Une fonction récursive, avec une profondeur de 4 par exemple

combinaisons

par sirakawa » 06 juin 2011, 10:00

Bonjour,
Je dispose de deux tableaux de mots:
$mots = array ("Louis XIII", "Henri IV", "Marie", "Anne");
$conjoncteurs = array ("fils de", "père de", "mari de");
Je souhaite obtenir un tableau de toutes les combinaisons comportant chacune tous les mots (idéalement sans répétition) et tous les conjoncteurs (répétés ou non) en commençant par un mot et en alternant par la suite conjoncteur et mot,exemple :
Louis XIII, fils de, Henri IV, mari de, Marie, mari de, Anne
Louis XIII, fils de, Marie, mari de, Henri IV, mari de, Anne
etc...

Pour ceux qui aiment comprendre à quoi va servir leur réponse:
Il s'agit, dans un logiciel de gestion de questionnaires, de créer une question sous la forme:
Classez tous les mots ci-dessous:
Louis XIII, Henri IV, Marie de Médicis, Anne d'Autriche
en utilisant les mots de liaison suivants:
fils de, père de, mari de
On engendre toutes les combinaisons possibles pour permettre au créateur de la question de voir lesquelles forment une réponse juste.


Je coïnce en PHP.
J'ai bien trouvé un script Python qui a l'air de faire ce que je veux, mais ça me déplait d'utiliser un script dans un langage que je ne connais pas....
Merci pour toute aide.

Michel Billard Sirakawa