Demande d'aide pour un petit programme très simple
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

Demande d'aide pour un petit programme très simple



  1. #1
    graniery

    Demande d'aide pour un petit programme très simple


    ------

    Bonjour,

    Je m'y connais très peu en programmation et j'aurai besoin dans un ficher txt d'arrondir tous les nombres à l'entier le plus proche (Exemple de code à la fin du post).
    Par exemple 2547.47 => 2546
    Je ne sais même pas en quel langage le faire, peut-être en C.
    Je pense que pour un programmateur, c'est ultra simple mais pas pour moi, donc si quelqu’un pourrait m'aider ça serai vraiment super!
    Merci d'avance!
    Yoann

    Exemple de code :
    (1: TOOL Bohrer 1)
    PU;
    SP02 (GUID:9D937357-D949-4907-ABD0-30A8D8A95CCD);
    (2: Kontur_1)
    PA 877.68,3236.01;
    PU;
    PD;
    PA 880.14,3247.12;
    PA 881.01,3258.48;
    PA 880.28,3269.84;
    PA 877.97,3280.98;
    PA 874.11,3291.7;
    PA 868.8,3301.76;
    PA 862.12,3310.99;
    PA 854.22,3319.18;
    PA 845.24,3326.19;
    PA 835.38,3331.87;
    PA 824.81,3336.11;
    PA 813.75,3338.82;
    PA 802.43,3339.96;
    PA 800,3340;
    PA 785.05,3339.2;
    PA 770.28,3336.81;
    PA 755.85,3332.85;
    PA 741.92,3327.38;
    PA 728.65,3320.45;
    PA 716.2,3312.15;
    PA 704.71,3302.56;
    PA 694.3,3291.8;

    -----

  2. #2
    Dlzlogic

    Re : Demande d'aide pour un petit programme très simple

    Bonjour,
    Il y a des quantités de façons de faire cela. Excel en serait une.
    En fait c'est assez curieux comme besoin.
    Par exemple si c'est répétitif et si vous pouvez définir le format des données, d'après votre exemple
    2 caractères alpha
    1 blanc,
    2 valeurs flottant, séparés par une virgule
    point-virgule pour terminer
    Je vous le ferai volontiers.

  3. #3
    CM63

    Re : Demande d'aide pour un petit programme très simple

    Bonjour,

    Tu peux utiliser Python. La fonction qui renvoie l'entier le plus proche est round(), le résultat est flottant, il faut donc utiliser int() ensuite:

    Code:
    >>> int(round(4.5))
    5
    >>> int(round(4.6))
    5
    >>> int(round(4.4))
    4
    >>> int(round(4))
    4
    >>> int(round(5))
    5

  4. #4
    azad

    Re : Demande d'aide pour un petit programme très simple

    Tout à fait. En la matière, Python, ou un Basic seraient plus appropriés qu'un C car ils disposent des fonctions dont tu as besoin.

  5. A voir en vidéo sur Futura
  6. #5
    Ludwig1

    Re : Demande d'aide pour un petit programme très simple

    Citation Envoyé par graniery Voir le message
    Bonjour,

    Je m'y connais très peu en programmation et j'aurai besoin dans un ficher txt d'arrondir tous les nombres à l'entier le plus proche (Exemple de code à la fin du post).
    Par exemple 2547.47 => 2546
    Je ne sais même pas en quel langage le faire, peut-être en C.
    Je pense que pour un programmateur, c'est ultra simple mais pas pour moi, donc si quelqu’un pourrait m'aider ça serai vraiment super!
    Merci d'avance!
    Yoann

    Exemple de code :
    (1: TOOL Bohrer 1)
    PU;
    SP02 (GUID:9D937357-D949-4907-ABD0-30A8D8A95CCD);
    (2: Kontur_1)
    PA 877.68,3236.01;
    PU;
    PD;
    PA 880.14,3247.12;
    PA 881.01,3258.48;
    PA 880.28,3269.84;
    PA 877.97,3280.98;
    PA 874.11,3291.7;
    PA 868.8,3301.76;
    PA 862.12,3310.99;
    PA 854.22,3319.18;
    PA 845.24,3326.19;
    PA 835.38,3331.87;
    PA 824.81,3336.11;
    PA 813.75,3338.82;
    PA 802.43,3339.96;
    PA 800,3340;
    PA 785.05,3339.2;
    PA 770.28,3336.81;
    PA 755.85,3332.85;
    PA 741.92,3327.38;
    PA 728.65,3320.45;
    PA 716.2,3312.15;
    PA 704.71,3302.56;
    PA 694.3,3291.8;
    Salut,

    Question 1 La source des données c'est quoi ?? un fichier disque je suppose ??
    Question 2 Le résultat du traitement il faut le mettre ou ?? Dans un autre fichier disque ??
    Question 3 tes données sont 'elles toujours par paires PA 880.14,3247.12; ??
    C.a.d. 880.14 et 3247.12 par exemple ??


    Cordialement

    Ludwig

  7. #6
    Ludwig1

    Re : Demande d'aide pour un petit programme très simple

    Citation Envoyé par CM63 Voir le message
    Bonjour,

    Tu peux utiliser Python. La fonction qui renvoie l'entier le plus proche est round(), le résultat est flottant, il faut donc utiliser int() ensuite:

    Code:
    >>> int(round(4.5))
    5
    >>> int(round(4.6))
    5
    >>> int(round(4.4))
    4
    >>> int(round(4))
    4
    >>> int(round(5))
    5

    Salut,

    je ne savais pas que ceci fonctionne sous Python


    Code:
    
    >>> int(round(PA 741.92,3327.38;))

    Cordialement

    Ludwig

  8. #7
    Evil.Saien

    Re : Demande d'aide pour un petit programme très simple

    Hello,

    Ca dépend. Est-ce qu'il te faut seulement les valeurs arondies ou est-ce que tu veux générer un nouveau fichier avec la même structure mais avec les valeurs arondies ?

    En supposant qu'il te faut seulement les valeurs arondies, tu peux commencer à ne garder que les lignes d'intérêt avec la commande (en bash, on appelle MonSuperFichier.txt ton fichier texte avec toutes les infos):
    Code:
    cat MonSuperFichier | grep 'PA '
    Seules les lignes qui commencent par PA seront affichées. Tu peux stocker la sortie dans un nouveau fichier
    Code:
    cat MonSuperFichier | grep 'PA ' > NouveauFichier.txt
    Et ensuite importer NouveauFichier.txt dans excel en définissant les caractères espace, virgule et point-virgule comme séparateurs.
    Mon psychiatre, pour quinze mille francs, il m'a débarrassé de ce que j'avais : quinze mille francs

  9. #8
    CM63

    Re : Demande d'aide pour un petit programme très simple

    Citation Envoyé par Ludwig1 Voir le message
    Salut,

    je ne savais pas que ceci fonctionne sous Python


    Code:
    
    >>> int(round(PA 741.92,3327.38;))

    Cordialement

    Ludwig
    Ben non, évidemment, il faut commencer par séparer les champs numériques: utiliser la fonction split()

  10. #9
    Ludwig1

    Re : Demande d'aide pour un petit programme très simple

    Citation Envoyé par Evil.Saien Voir le message

    En supposant qu'il te faut seulement les valeurs arondies, tu peux commencer à ne garder que les lignes d'intérêt avec la commande (en bash, on appelle MonSuperFichier.txt ton fichier texte avec toutes les infos):
    Code:
    cat MonSuperFichier | grep 'PA '
    Seules les lignes qui commencent par PA seront affichées. Tu peux stocker la sortie dans un nouveau fichier
    Code:
    cat MonSuperFichier | grep 'PA ' > NouveauFichier.txt
    Et ensuite importer NouveauFichier.txt dans excel en définissant les caractères espace, virgule et point-virgule comme séparateurs.

    Salut,

    On fait comment avec la fonction " grep" si on ne tourne pas sur UNIX ou LINUX ??

    Cordialement

    Ludwig

  11. #10
    pm42

    Re : Demande d'aide pour un petit programme très simple

    On installe Mingw ou Cygwin.
    Ou on utilise Windows 10 qui contient bash, grep et tout le reste...

  12. #11
    Ludwig1

    Re : Demande d'aide pour un petit programme très simple

    Comme pour une fois t'insultes pas, merci.

    Je suppose que " tout le reste " fais également les arrondis ET TOUT LE RESTE juste ?
    A moins que " TOUS LE RESTE" il faut encore le configurer etc... pour le faire aller ?
    En somme le PB est réglé. Ou bien ?

    Cordialement

    Ludwig

  13. #12
    cosmoff

    Re : Demande d'aide pour un petit programme très simple

    un transtypage en C marcherait :
    Code:
    float f = 2547.47 ;
    int i = (int)f;
    Dernière modification par cosmoff ; 01/03/2017 à 15h40.

  14. #13
    Ludwig1

    Re : Demande d'aide pour un petit programme très simple

    Citation Envoyé par cosmoff Voir le message
    un transtypage en C marcherait :
    Code:
    float f = 2547.47 ;
    int i = (int)f;

    Salut,
    Eventuellement,
    Tout de même, il me semble que ce n'est pas la partie essentielle du PB.
    Avant de faire le traitement, il faut récupérer les données,
    après le traitement il faut ranger celles-ci, ou ? comment ? etc...
    Il me semble qu'il faudrait indiquer une solution qui traite l'ensemble de la question, ou bien ???

    S" 2547.47" >FLOAT ROUND ça marche aussi, mais rien n'est résolu.

    Cordialement

    Ludwig

  15. #14
    Evil.Saien

    Re : Demande d'aide pour un petit programme très simple

    Citation Envoyé par Ludwig1 Voir le message
    On fait comment avec la fonction " grep" si on ne tourne pas sur UNIX ou LINUX ??
    C'est une bonne question. On peut utiliser ceci
    https://www.howtogeek.com/249966/how...on-windows-10/

    Bon après, il a pas dit qu'il était sous windows... Peut-être qu'il est sous mac.
    Mon psychiatre, pour quinze mille francs, il m'a débarrassé de ce que j'avais : quinze mille francs

  16. #15
    Ludwig1

    Re : Demande d'aide pour un petit programme très simple

    Citation Envoyé par Evil.Saien Voir le message
    Bon après, il a pas dit qu'il était sous windows... Peut-être qu'il est sous mac.
    Salut,

    Tout à fais, mais il a surtout pas dit s'il voulait à la fin obtenir un exécutable ou un utilitaire qu'il pouvait appeler à partir
    de Windows 10 ( ou autre ).
    ça change la donne me semble t'il.

    Cordialement
    Ludwig
    Dernière modification par Ludwig1 ; 01/03/2017 à 16h42.

  17. #16
    freepicbasic

    Re : Demande d'aide pour un petit programme très simple

    Pour le grep sous windows
    Il y a "windows grep32";

    http://windows-grep.software.informer.com/download/
    A+, pat

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/01/2015, 14h04
  2. Besoin d'aide pour un programme simple svp
    Par McCorwin dans le forum Électronique
    Réponses: 23
    Dernier message: 20/08/2008, 16h35
  3. Demande d'aide pour un programme en C
    Par Soadnemesis dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 07/06/2008, 09h40
  4. Demande d'aide pour un montage simple.
    Par invitebd1f2ed4 dans le forum Électronique
    Réponses: 18
    Dernier message: 02/04/2008, 17h58
  5. Aide pour petit exercice simple
    Par invitecb9c7cb6 dans le forum Physique
    Réponses: 5
    Dernier message: 09/11/2007, 11h39