IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Calcul automatique


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 7
    Par défaut Calcul automatique
    Bien le bonjour,

    je désirerai effectuer des calculs de manière automatique plutot que d'avoir à les faire de tête et/ou à les écrire sur une feuille, pour des raisons de gain de temps.

    Je suis confronté à un exercice de ce genre, répétitif puisque le code de 0 et de 1 change à chaque exercice différent :

    -1 . 1 0 1 0 1 0
    -2 . 0 1 0 1 1 1
    +1 . 1 0 1 0 0 0

    Sachant que chaque colonne hormis la premiere, obtient un résultat sous la forme (X ; Y) avec X = total des valeurs positives (1ere colonne) (+) et Y négatives(-).

    -1 . 1 0 1 0 1
    -2 . 0 1 0 1 1
    +1 . 1 0 1 0 0

    Ici, 2+/-1 1+/-2 2+/-1 0+/-3 1/2 sont les valeurs obtenues, selon les principes suivants :

    Le 1 situé en dessous d'un 0 capte le différenciel de coefficient situé en 1ère colonne en fonction de son coefficient (+ ou -, si le 1 est +1 et 0 est -2 , le 1 prend 2+) ; le 1 situé au dessus d'un 0, il capte le différenciel de coefficient situé en 1ère colonne en fonction de son coefficient (si le 1 est +1 et 0 est -2 , le 1 prend -2).

    Cela mérite des explications complémentaires, mais j'avoue avoir peu d'espoir de trouver une méthode qui me ferait ça en 0.001 seconde.

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 216
    Par défaut
    Faire u traitement qui manipule une douzaine de nombres, qui applique plein de trucs compliqués, et qui ressort une douzaine de nombres. Et qui exécute tout ça en moins de 0.001 secondes, ça paraît possible.

    Le tout est de savoir la liste des manipulations à effectuer.

    Et là, ça devient très compliqué, parce que ton message est incompréhensible.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 7
    Par défaut
    Je pense que c'est effectivement trop compliqué à mettre en place.

    Pourtant, il y a une logique indiscutable dans ce code, et c'est assez simple à manipuler, j'ai un nouvel exemple :

    O-1 1
    O-2 1
    O-2 0
    K+1 1
    K+1 1

    Résultat de la colonne de (1;0) = K 4 / O 1 = K 4/1 .

    Explication : Séparation entre séries d'éléments de O et de K .



    Différence de niveau interne à chaque serie de (O;K) : si le chiffre le plus élevé est au début de la série ( ici-1>-2), si le numéro dans la colonne de (1;0) est différent, alors la série prend autant de valeurs positives que de différence entre ses niveaux différent ( différence entre -1 et -2 = 1) ; j'obtiens donc O 1.

    O-1 1
    --------------
    O-2 1
    O-2 0 .



    Différence de niveau de chaque serie entre elles (de (O;K)) bénéficie toujours au K ou O situé en dessous: -2 +1 +1 = K 4 .


    O-1 1
    O-2 1
    O-2 0
    -------------
    K+1 1
    K+1 1




    J'ai K 4 / O 1 .
    J'ai plus de K que de O .
    K 4/1 .

    Ce tableau de (une + une) colonnes admet 8^5 possibilités soit +32000. Je traite plutôt avec un tableau de 512^7 possibilités, c'est pour ça qu'un programme informatique serait utile puisqu'au lieu de le faire à l'écrit et prendre 10 minutes à chaque fois , ça me faciliterai la tâche.

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 489
    Par défaut
    salut

    d’après ce que tu nous décrit tu fait des comparaison ligne a ligne

    donc le début de ton algo serais de boucler sur tes éléments

    disons que l'on va construire un tableau d’élément et que tes éléments sont constitués de :
    CLE (dans ton exemple O ou K)
    NIV (-1,-2,1)
    VALUE (1,0)

    [0]O;-1;1
    [1]O;-2;1
    [2]O;-2;1
    [3]K; 1;1
    [4]K; 1;1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     POUR tout element i du tablea de 0 a n-1 FAIRE  // ici n = 4 
     DEBUT FAIRE
        POUR tout element j du tableau de 1 a n FAIRE  // ici n = 4    
        DEBUT FAIRE
           Si  tableau[j].Cle <> tableau[i].Cle ALORS
           DEBUT SI
               // ici on change de clé
           FIN SI
           Si  tableau[j].NIV = tableau[i].NIV ALORS
           DEBUT SI
              // Ici le niveau est egale
           SINON
             Si  tableau[j].NIV > tableau[i].NIV ALORS
             DEBUT SI
                // Ici le niveau augmente 
             SINON
               // Ici le niveau diminu 
             FIN SI 
           FIN SI
        FIN FAIRE
     FIN FAIRE
    voila la structure générale de ton algo après j'ai pas tout compris a tes explications

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 7
    Par défaut
    J'avoue que je ne m'attendais pas à une réponse aussi rapide.
    Mais je n'y connais pas grand chose au langage informatique, donc je n'ai pas compris grand chose.
    Ce qui m'intéresse est surtout le résultat obtenu, dans l'exemple il est pour la colonne de (0;1)
    (rappel exemple) O-1 1
    O-2 1
    O-2 0
    k+1 1
    K+1 1

    de K 4/1. C'est un vrai travail que de pondre un programme qui obtiendrait ce genre de résultat, limite je pourrais payer pour ça.

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 489
    Par défaut
    salut

    ou as tu vu que je parle informatique
    je ne fait que retranscrire dans un langage claire ce que tu essai de nous dire
    j'essai d'analyser ton raisonnement et de le transcrire en des étapes simple afin d'arriver au résultat escompté

    toi depuis le début tu nous donne le point de départ et l'arrivé mais entre les deux c'est un peu flou

    reprenons ton exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    (rappel exemple) O-1 1
    O-2 1
    O-2 0
    k+1 1 
    K+1 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Première boucle on commence avec rien 
    donc on a  0
      ["O"] := 0;
    deuxieme boucle 
      la cle ne change pas c'est toujours O 
      le niveau ne change pas 
      par contre la valeur change de 1 en 0 
      => ["O"] := 1 
    3ieme boucle 
      on change de cle 
         ["K"] :=0
      on change de de niveau  
        ["K"] :=3
    4ieme boucle 
      la cle ne change pas c'est toujours k 
      le niveau ne change pas 
      par contre la valeur ne change pas elle est de 1
      ["K"] :=4 ? pourquoi ?

  7. #7
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 216
    Par défaut
    Le problème, c'est que ton besoin est incompréhensible.


    Et comme tu n'arrives pas à exprimer le besoin, la solution, c'est peut-être (???) de remonter d'un cran, c'est à dire transmettre ce que ton 'client' te demande.

    Rappel n°1 : Ce qui se conçoit bien s'énonce clairement.
    Rappel n°2 : Un problème correctement formulé est un problème à moitié résolu.

Discussions similaires

  1. Calcul automatique dans des tableaux
    Par fremsoi dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 12
    Dernier message: 01/06/2006, 17h58
  2. effectuer un calculs automatique??
    Par annajoul dans le forum Access
    Réponses: 1
    Dernier message: 30/05/2006, 10h41
  3. CEdit et calcul automatique d'une expression réelle
    Par youngkoolboy dans le forum MFC
    Réponses: 8
    Dernier message: 03/05/2006, 19h38
  4. [VBA-E] calculs automatique sur une seule feuille
    Par repié dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/03/2006, 11h53
  5. Faire des calculs automatiques en JavaScript
    Par yoyot dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/02/2005, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo