fr . comp . algorithmes


Service Usenet Gratuit - You The Net .Com Consultez les groupes de news usenet nntp avec www.youthenet.com Postez et suivez voos fils de discussions gratuitement avec you the net .com le service gratuit de news en ligne

Re: Factoriser les conditions d'une table de verite sur Fr Comp Algorithmes



Groupes les plus fournis
comp os linux configuration comp mail serveurs hierachie de merde tv tnt lettres langues-anciennes grec usenet-fr emile durkheim comp sys mac programmation lettres langues-anciennes latin misc actualite rec tv series usenet usages petites-annonces rencontres comp usenet lecteurs-de-news informations comp lang perl sci astronautique comp os unix mac rec sport arts-martiaux comp stockage sci linguistique


Derniers posts youthenet
Re: Démission pour création d'entreprise commerce ou service Que pensez-vous de la doctrine de James Madison ? Re: envoi des données à un serveur html la demeure du chaos Re: Alice au pays de Free (d'après la t ribune) Re: Est-ce ue violation de la GPL? Re: L'ultra libéralisme du chemin de fer prôné par Sarkozy... Président langue de bois ? la compagnie de l'autre

actualité

Le système qui gagne 26% cette année
Le Temps (Abonnement) - 30 nov 2008
Les algorithmes de trading assistés par ordinateurs visent à identifier les tendances des marchés et à clôturer les positions si une nouvelle tendance ...
source

actualité

Empreintes digitales, génétiques, vocales ou odorantes
La Voix du Nord - Il y a 55 minutes
Grâce « à un mécanisme d'algorithmes mathématiques », une voix recueillie sur tout type de support (téléphone, cassettes, etc.) est transformée en graphique ...
source

Accueil |  Ajouter aux Favoris |  Inscription |  connexion |  Flux RSS de fr.comp.algorithmes |

fr . comp . algorithmes

Re: Factoriser les conditions d'une table de verite



accueil . fr . comp . algorithmes

Ce groupe traite de l'informatique algorithmique. L'algorithmique est l'activité relevant des algorithmes. Un algorithme est une représentation des calculs à effectuer pour résoudre un problème.


Re: Factoriser les conditions d'une table de verite

   
Sujet: Re: Factoriser les conditions d'une table de verite
De: lea.gris (l' arobase) nomail.invalid (Lea GRIS)
Groupes: fr.comp.algorithmes
Organisation: meumeu
Date: 16. Jan 2008, 00:06:15
Fabien LE LEZ a écrit :
On Tue, 15 Jan 2008 18:02:02 +0100, Lea GRIS :


static char * sorties[ ] = { "OK","EN","SU","AN","ND" };

Je préférerais un
static char* sorties[2][2][2][2]= ...

char * gettest(bool dfi,dft,dds,dfs)
{
   return sorties [dfi][dft][dds][dfs];

Mais bon, c'est un détail.

De plus, l'indexation d'une table de vérité resterait-elle plus
avantageuse lorsque la complexité des conditions augmente en
considération d'un environnement moderne (cache L1-L2, pipelining,
prédictions des branchements, RAM significativement plus lente que le
CPU...).

Franchement, vu la complexité des architectures récentes, on ne peut
pas savoir. Faut implémenter les deux méthodes et faire des tests de
performances.
Et la plupart du temps, les tests indiquent que la différence réelle
est très faible en pratique, et qu'il vaut mieux pondre le code le
plus lisible.

Comme le code que j'ai publié hier était cochon et erroné, je remet ici
un code propre et qui fonctionne. J'espère pouvoir bientôt comparer les
deux algorithmes. En attendant voici la version avec table :

#include <stdbool.h>
#include <string.h>
#include <stdio.h>

/* Représentations binaires des différentes valeurs d'entrées
 * en vue de leur assemblage comme index entier.
 */
#define DFI 0x01
#define DFT 0x02
#define DDS 0x04
#define DFS 0x08

/* Les différentes valeurs de sorties sont des chaînes
 * de caractères mais il serait aussi possible d'y ranger
 * des pointeurs vers la fonction à appeler conditionnellement
 * à la valeur d'index.
 */
static char *sorties[] = { "OK", "En cours", "Suspendu", "Annulé", "N-D" };

/* Table de vérités */
static unsigned int verites[] =
  { 1, 0, 0, 0, 2, 3, 3, 3, 4, 4, 4, 4, 2, 0, 0, 0 };

char *
dotest1 (bool dfi, bool dft, bool dds, bool dfs)
{
/* Assemble l'index entier avec les valeurs binaires conditionnelles
 * et retourne la valeur de sortie trouvée dans la table de verites
 */
  int i =
    (dfi ? DFI : 0) | (dft ? DFT : 0) | (dds ? DDS : 0) | (dfs ? DFS : 0);

/* Le code suivant serait équivalent tant que l'implémentation
 * du type bool vaut 0 pour faux et 1 pour vrai.
 * En pratique je ne sais pas si c'est fiable et cela n'apporte
 * aucune optimisation algorithmique.
 * Je le laisse en exemple :
 *
 * i = dfi*DFI | dft*DFT | dds*DDS | dfs*DFS;
 */
  int verite = verites[i];
  return (sorties[verite]);
}

int
main (int argc, char *argv[])
{
  int i;
  bool dfi = false;
  bool dft = false;
  bool dds = false;
  bool dfs = false;

  for (i = 1; i < argc; i++)
    {
      if (strncasecmp ("DFI", argv[i], 3) == 0)
dfi = true;
      if (strncasecmp ("DFT", argv[i], 3) == 0)
dft = true;
      if (strncasecmp ("DDS", argv[i], 3) == 0)
dds = true;
      if (strncasecmp ("DFS", argv[i], 3) == 0)
dfs = true;
    };

  printf ("DFI %s\n", (dfi ? "VRAI" : "FAUX"));
  printf ("DFT %s\n", (dft ? "VRAI" : "FAUX"));
  printf ("DDS %s\n", (dds ? "VRAI" : "FAUX"));
  printf ("DFS %s\n", (dfs ? "VRAI" : "FAUX"));

  printf ("Résultat : %s\n", dotest1 (dfi, dft, dds, dfs));
  return (0);
}

--
Léa Gris


Date Sujet  Auteur
15.01. * Factoriser les conditions d'une table de verLea GRIS
15.01. +* Re: Factoriser les conditions d'une table de vFabien LE LEZ
15.01. |`* Re: Factoriser les conditions d'une table deLea GRIS
15.01. | `* Re: Factoriser les conditions d'une table Fabien LE LEZ
16.01. |  `* Re: Factoriser les conditions d'une tablLea GRIS
16.01. |   `- Re: Factoriser les conditions d'une taFabien LE LEZ
31.01. `- Re: Factoriser les conditions d'une table de vWykaaa
Derniers articles
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs misc engeulades soc economie sci psychanalyse misc droit soc alcoolisme soc environnement rec photo lettres langue francaise misc handicap

Derniers messages
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs bio general misc engeulades sci psychanalyse rec photo numerique soc economie rec radio soc alcoolisme misc droit rec son-image home-cinema

actualité

Le système qui gagne 26% cette année
Le Temps (Abonnement) - 30 nov 2008
Les algorithmes de trading assistés par ordinateurs visent à identifier les tendances des marchés et à clôturer les positions si une nouvelle tendance ...
source

actualité

Nouveau concours : les générateurs de labyrinthes
Le Site du Zér0 - 28 nov 2008
Ce concours sera l'occasion pour vous de vous améliorer dans le langage de votre choix mais aussi et surtout il vous incitera à travailler vos algorithmes. ...
source


 




Copyright 2008 ©  - YouTheNet.com

| rheumatoid |