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 :

Jouable ou pas ?


Sujet :

Algorithmes et structures de données

  1. #41
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    @ wiwaxia:
    "1°) D'une équation admise y = a*x + b on peut déduire par les règles du calcul algébrique une expression (et une seule) de l'autre variable: x = (y - b)/a"
    Ok mais de: x=a*b on peut en tirer 2 comme vu plus haut dans: "la vache dans le couloir".

    "Ceci relève du calcul formel, dont la programmation est hors de portée"
    D'où l'idée de passer par la force brute.

    " toutes variantes évidemment fausses"
    Qui seront éliminer au test

    "La présente discussion partait de (x = (a+b)*(c-d)/e)"
    Ce n'était qu'un exemple dont je sais pertinemment qu'il trop long ("!").

    "une majorité de faux positifs"
    *****J'en reviens à ma question: Le mode de test est-il valide tel que décrit dans "la vache dans le couloir"? Et ce qui vaut pour 3 termes vaut-il pour n termes, En dehors de toutes autres considérations.*****
    -----------------
    @ tbc92:
    " Vérifier que la syntaxe est correcte, ce n'est pas simple."
    Batterie de tests sur la chaine obtenue (et d'ailleurs inutile car le prog renverra une "error" au test (gérée par un saut)+ prétest pour la div par 0.

    "on normalise cette chaine"
    Pas envisageable à mon niveau.

    "C'est une soustraction, et d est à droite du signe"
    Pareil qu'avec: "/" que le caractère soit "d", "(" ou: ")". C'est faisable.
    J'ai commencé avec une expression courte et simple en reprenant l'ensemble du code à chaque nouvelle difficulté introduite (parenthèse (au singulier)) Je sais très bien que ce n'est pas la bonne façon de faire mais c'est la mienne.
    En attendant je n'ai pas la réponse à ma question repérée: "*****" plus haut.
    Savoir pour comprendre et vice versa.

  2. #42
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Jouable ou pas ?
    Citation Envoyé par valentin03 Voir le message
    ... "Ceci relève du calcul formel, dont la programmation est hors de portée"
    D'où l'idée de passer par la force brute.

    " toutes variantes évidemment fausses"
    Qui seront éliminées au test

    "La présente discussion partait de (x = (a+b)*(c-d)/e)"
    Ce n'était qu'un exemple dont je sais pertinemment qu'il trop long ...
    Je t'ai expressément reproché de partir d'exemples trop simples (x=a*b),
    Ce qui est proprement sidérant, c'est l'extrême simplicité des exemples sur lesquels tu prétends fonder ta méthode.
    qui entretiennent l'illusion dangereuse d'un test numérique facilement réalisable.
    Quant à la dernière expression comportant 13 caractères, elle n'a justement rien d'extraordinaire ...

    Je maintiens ce que j'ai dit auparavant (#39), à savoir que la croissance extraordinairement rapide (en fonction de la longueur de la chaîne) du nombre de ses arrangements finit par rendre inopérant tout inventaire complet.
    C'est d'ailleurs là le principal défaut de tout recours à la "force brute".

    La seule réserve (plutôt optimiste) à ajouter est que le nombre de faux positifs doit diminuer rapidement dans le cas de grands entiers ou de nombres décimaux comportant un grand nombre de chiffres, la probabilité de coïncidence devenant beaucoup plus faible.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  3. #43
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    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 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Comme chacun sait, un problème bien formulé est un problème à moitié résolu.
    Il a fallu quelques jours pour avoir une formulation claire du problème : à partir d'une chaîne de type y =(a*x)+b, le programme doit inverser cette chaîne, et donc afficher les 3 chaines
    a = ...
    b= ...
    et x = ...
    L'algorithme est relativement simple, A CONDITION que la chaine initiale soit bien normalisée. Par exemple, y=a*x+b n'est pas valide, il faut donner y=(a*x)+b. Avec cette restriction, le programme est simple. En environ 3 heures, on développe le programme chargé ici (avec les sources ; langage : Windev)

    Exemple de résultat :
    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
    ---------------------------
    Calcul Formel 
    x=((a+b)*(c-d))/(e+3)  // chaine donnée en entrée
    ---------------------------
    a=((x*(e+3))/(c-d))-b
    b=((x*(e+3))/(c-d))-a
    c=((x*(e+3))/(a+b))+d
    d=c-((x*(e+3))/(a+b))
    e=(((a+b)*(c-d))/x)-3
     
    ---------------------------
    Calcul Formel
    a=((b+1)/(c+(d-e)))+(1/x)    // chaine donnée en entrée
    ---------------------------
    b=((a-(1/x))*(c+(d-e)))-1
    c=((b+1)/(a-(1/x)))-(d-e)
    d=(((b+1)/(a-(1/x)))-c)+e
    e=d-(((b+1)/(a-(1/x)))-c)
    x=1/(a-((b+1)/(c+(d-e))))
    ---------------------------
    Temps de traitement : instantané.

    A venir, éventuellement, une version qui saura traiter des chaines moins normalisées.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  4. #44
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    @ tbc92: J'ai pris ton zip/exe. Mon système m'annonce que ce n'est pas une app win32 valide (64 ?)
    J'ai donc été chercher Windev pour voir de quoi il retourne; j'installe, et là: Surprise...! Je découvre un truc qui a l'air carrément fa-bu-leux ! Mais bon, ça n'arrange pas mes bidons, je retourne donc prendre le zip/source que je fouine avec Notepad++; mais je ne vois rien qui ressemble à du code.
    La question: que dois-je charger dans l'EDI et dans quel ordre ? (je meurs d'impatience et de curiosité)

    Edit: Wiiiin ! Sniiif !! c'est:du Format 22 et je n'ai que Windev Express.
    Re-Edit: Question: A 2000 Euros TTC est-ce que ce truc ne serait pas une P*** d'usine à gaz que je vais mettre 5 ans à maîtriser ?
    Savoir pour comprendre et vice versa.

  5. #45
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    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 053
    Points : 9 392
    Points
    9 392
    Par défaut
    1. L'exécutable : tu peux l'exécuter, avec ou sans Windev. A la 1ere utilisation, il y a tout un tas de DLL à télécharger.
    2. J'ai exporté le code dans le PDF . Ce n'est pas forcément simple à lire. Mais c'est lisible.
    3. Effectivement, tu ne peux pas modifier le source sans la version payante. Mais à partir du PDF, tu peux le reconstituer, avec tout un tas de copier/coller. (un copier coller pour chacune des procédures, soit une dizaine de copier/coller à faire.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  6. #46
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    1. L'exécutable : tu peux l'exécuter, avec ou sans Windev. A la 1ere utilisation, il y a tout un tas de DLL à télécharger.
    2. J'ai exporté le code dans le PDF . Ce n'est pas forcément simple à lire. Mais c'est lisible.
    3. Effectivement, tu ne peux pas modifier le source sans la version payante. Mais à partir du PDF, tu peux le reconstituer, avec tout un tas de copier/coller. (un copier coller pour chacune des procédures, soit une dizaine de copier/coller à faire.
    Je n'ai pas trouvé de PDF ni dans le git ni dans le zip/source. Les sources me suffiraient j'arrive assez bien à lire les codes "tiers".
    Pourquoi Windows n'en veut pas c'est du 64 bits ? ("...n'est pas une app win32 valide")

    Edit: Quand même...Sans permettre l'édition ils pourraient laisser charger le projet dans l'EDI, quand on est à ce point là, c'est plus du Propriétaire, c'est de l'hyper verrouillé. ça donne juste envie d'aller faire un tour chez les crackers.
    Savoir pour comprendre et vice versa.

  7. #47
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    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 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Effectivement, j'ai oublié de mettre le Pdf. Je ne pourrais le télécharger que ce soir.
    Pour l'exécutable, c'est du 32 bits. Je n'ai pas mis de certificat ou de truc comme ça, donc tu peux avoir des difficultés.

    Là, je viens de télécharger l'exécutable. Pour le lancer, j'ai dû faire 'Exécuter en tant qu'admin' et j'ai dû confirmer que je voulais vraiment le lancer. Puis le programme a lancé le téléchargement des DLL manquantes, et m'a affiché la fenêtre où je peux taper une formule, et la convertir.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  8. #48
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Effectivement, j'ai oublié de mettre le Pdf. Je ne pourrais le télécharger que ce soir.
    'Exécuter en tant qu'admin'
    D'accord, je vais tenter quelques manips en admin.

    Edit: Après ton correctif l'exe ne veut toujours rien savoir (ni en admin (app win32 non valide))
    Je te remercie pour le pdf, la transcription s'avère moins aisée que prévue mais avec la doc de Windev je devrais y arriver.
    Encore merci. Et meilleurs voeux à tous pour 2018
    Savoir pour comprendre et vice versa.

Discussions similaires

  1. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  2. [Kylix] [cgi] ne trouve pas libsqlmy.so.1 !
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 04/07/2002, 15h15
  3. Réponses: 1
    Dernier message: 23/06/2002, 00h15
  4. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15

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