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

C Discussion :

Traduction ADA vers C [Débutant(e)]


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Par défaut Traduction ADA vers C
    Bonjour, aurez vous l'aimaibilité de bien vouloir m'aider à traduire les deux fonctions suivantes qui sont en Ada en C ?

    En fait, j'ai déjà essayé, mais le problème c'est que je ne sais pas si c'est les fonction Pos et Val peuvent se traduire en C.. donc c'est pour ça que je vous le demande (et gentiment en plus )..

    Voici mon avancement:

    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
     function rang_car(c : character) return integer is
          --fonction renvoyant le code correspondant au caractère
     
          begin
             return(character'pos(c) - character'pos('a'));
       end Rang_Car;
     
    ----------------------------------------------------------------------
     
       function car(code : integer) return character is
          --fonction renvoyant le caractère correspondant au code
     
          begin
             return(character'val(character'pos('a') + code));
       end Car;
    De plus, c'est mon premier essai de traduction..c'est pour ça que ça m'aiderait bien !! Merci paravance quelque soit votre réponse !!

    $ Kleer $

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Beh déja il faut savoir ce que fait Pos et val en ADA ne connaissant quasiment rien de ce langage....

    Tu as essayé une traduction voir ce que ca donne ?

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par hegros
    Beh déja il faut savoir ce que fait Pos et val en ADA
    Ada. C'est un patronyme (Ada Byron-Lovelace), comme Pascal...

    COBOL, FORTRAN, BASIC sont des acronymes.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ce n'est pas un patronyme, mais un prénom.

    Et aucune aide ne sera possible tant que nous ne sauront pas ce que fait la fonction character'pos()
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Kleer
    Bonjour, aurez vous l'aimaibilité de bien vouloir m'aider à traduire les deux fonctions suivantes qui sont en Ada en C ?
    Si tu veux écrire du code en C, il n'y a pas d'autre solution que d'apprendre le langage C. Et ça, il n'y a que toi qui puisses le faire. Il y a des tutoriels et des livres sur ce site et sur le mien.

    D'autre part, qu'est-ce qui te fait croire qu'on connait Ada ?

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Par défaut oups..j'aurais du commencer par ça..
    Excusez moi, j'aurais du comencer par ça..
    en fait, la fonction char'pos recherche la position du caractère, et la fonction val, détermine la valeur du caractère...
    $ Kleer $

  7. #7
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    1-La position du caractère dans une chaine ?
    2-La valeur ascii du caractère ?

  8. #8
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    1- si oui, dans quelle chaîne ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Kleer
    Excusez moi, j'aurais du comencer par ça..
    en fait, la fonction char'pos recherche la position du caractère, et la fonction val, détermine la valeur du caractère...
    $ Kleer $
    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
    22
    23
    24
    25
     
    /* function rang_car(c : character) return integer is
          --fonction renvoyant le code correspondant au caractère
         begin
             return(character'pos(c) - character'pos('a'));
       end Rang_Car;
    */
    int rang_car(int c)
    {
       return c;
    }
     
    /*   
    ----------------------------------------------------------------------
       
       function car(code : integer) return character is
          --fonction renvoyant le caractère correspondant au code
       begin
             return(character'val(character'pos('a') + code));
       end Car;
    */
    int car (int code)
    {
       return code;
    }
    Le C, c'est simple...

  10. #10
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Tes prototypes ne vont pas Emmanuel.

    Je vois plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int rang_car(char character) {
     
    return x;
     
    }
     
    char car(int code ) {
     return x;
    }
    EDIT : si ils sont bons en vrai

  11. #11
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par hegros
    Tes prototypes ne vont pas Emmanuel.

    Je vois plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int rang_car(char character) {
     
    return x;
     
    }
     
    char car(int code ) {
     return x;
    }
    EDIT : si ils sont bons en vrai
    Même si c'est techniquement possible, on n'utilise pas de paramètres ni de retours entier plus petits que int en C (rien de tel dans la bibliothèque C en tout cas...). En effet, les type char et short sont automatiquement promus en int, alors autant éviter du codage interne inutile et travailler directement en int.

    Idem avec float et double (jusqu'en C90 au moins, après, je ne sais plus). Utiliser double.

  12. #12
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Merci je découvre.

    C'est pour des raisons de portabilité d'optimisation ?

Discussions similaires

  1. Traduction C# vers VB.Net
    Par papawemba dans le forum VB.NET
    Réponses: 1
    Dernier message: 28/06/2008, 09h54
  2. Traduction VBA vers C#
    Par tirixil dans le forum C#
    Réponses: 1
    Dernier message: 01/11/2007, 19h29
  3. [Débutant] Traduction ADA vers C
    Par Kleer dans le forum Ada
    Réponses: 3
    Dernier message: 08/02/2007, 15h09
  4. Traduction C++ vers Delphi
    Par lil_jam63 dans le forum Langage
    Réponses: 6
    Dernier message: 05/07/2004, 13h10
  5. probleme traduction C vers Delphi
    Par zinaif dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2003, 08h51

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