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

 Delphi Discussion :

Des opérations sur les mots


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Des opérations sur les mots
    Supposons que l'on a le mot 'pommes'. Pour ce mot on a isole l'identificateur "es" et le trait "plural, femminin". Je dois creer une regle afin d'arriver de la forme "pommes" a celle de "pomme". Je ne sais pas comment ecrire tout cela et j'ai arrive justement aux lignes ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure TForm1.Button1Click(Sender: TObject);
      var mot: string;     
    begin
      mot:=edit1.text;
      Regle1 := TRegle.Create;
      Identif1 := TIdentificateur.Create('PluralFeminin', 'es');
      Operation1 := TTexttoTerms.Create('SingularFeminin','s');
      Regle1.addOperation(Operation1);
      Regle1.addIdentificateur(Identif1);        
      mot:= 'pommes';
      Rule1.analyze(mot);
      end;

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Salut,

    Pas bien clair l'énoncé de ton problème d'autant plus que tu utilises Regle1 := TRegle.Create; c'est à dire un type TRegle dont tu ne fournis pas le code.

    Je suppose que tu as quelque part dans ton code une sorte de dico qui te dit "si pos('pomme', MonMot)>0 alors MonMot:=Feminin et en plus ça donne au PluralFeminin 'pommes' et au SingularFeminin 'pomme'.

    A mon avis pour créer ta règle, avant de te lancer dans le code, le mieux c'est de commencer par rédiger ta règle en français en appelant un chat un chat.

    Déjà il y a des trucs bizzares dans le bout de code que tu fournis :
    - Identif1 := TIdentificateur.Create('PluralFeminin', 'es');
    - Operation1 := TTexttoTerms.Create('SingularFeminin','s');
    avec ça 'PluralFeminin' et 'SingularFeminin' se termineraient tous deux par un 's' ???

    A +
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    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 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    comme le dit gilbert il faut deja mettre a jour les données de ton dico
    la terminaison n'est que l'un des aspect de la regle

    le mots peut etre
    Feminin,masculin
    variant ,invariant
    verbe,adverbe,nom,...
    il est utiliser comme
    sujet,complement,...

    une fois que tu as determiné ces donnée tu pourra peut etre edicter tes regle
    sans oublié les ecxeption


    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Salut de nouveau.
    Non, il n'y a pas de ressemblance entre la terminaison du singulier et du pluriel.
    Le Code: Identif1 := TIdentificateur.Create('PluralFeminin', 'es'); Operation1 := TTexttoTerms.Create('SingularFeminin','s'); ne signifie pas que le pluriel feminin et le singulier feminin se termineraient tous deux par un 's', mais que l'operation consiste a creer la forme de singulier, feminin par couper la terminaison "s" du mot.
    J'ai dit que je ne sais pas comment ecrire les lignes de programme. Je suis arrivee a une partie d'ou je ne sais pas comment avancer.
    Mais, les fichiers avec les terminaisons et les operations qui doivent faites pour arriver d'une forme a une autre ont ete bien ecrites et definies. C'est le programme que je ne sais pas le definir...

  5. #5
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    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 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    donc en fait apres l'analyse tu aimerai que l'on te retourne le simgulier du mots a analyser

    donc dans analyse tu devrais avoir un truc du genre
    iterm etant la terminaison de ton obj Identif1
    et Oterm etant la terminaison de ton obj Operation1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function DonneSingulier(Iterm,Oterm,mots: String) : String;
    begin
      Result :=''; 
     lgt := length(Iterm)
     aterm := copy(mots,length(mots)-lgt,lgt);
     if Iterm =  aterm Then
     begin  
        lgt := length(Oterm);
        aterm := copy(mots,length(mots)-lgt,lgt);
        if Oterm =  aterm Then 
          Result := copy(mots,1,length(mots)-lgt); 
     end; 
    end;

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Salut,

    Nadia27 :Mais, les fichiers avec les terminaisons et les operations qui doivent faites pour arriver d'une forme a une autre ont ete bien ecrites et definies. C'est le programme que je ne sais pas le definir...
    ... dans ce cas, j'en déduis pour ma part que l'opération permettant de passer par exemple du Feminin-Pluriel au Féminin-Singulier a elle-aussi été bien écrite et définie.
    ... mais quel est donc ton vrai problème ?
    ... et à propos de "C'est le programme que je ne sais pas le definir..." : pour pouvoir t'aider faut qu'on sache déjà ce que ton programme doit pouvoir faire.
    ... faut clarifier l'énoncé du problème à résoudre.
    ... et n'hésites pas à poster le code du TRegle parceque avec le bout de code de ta procedure TForm1.Button1Click(Sender: TObject); on est obligé de deviner le reste ... et on part sur des fausses pistes.

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/04/2013, 11h53
  2. [TPW] Calculatrice effectuant des opérations sur les entiers longs
    Par forum dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 04/12/2011, 11h36
  3. Optimisation des opérations sur les grands nombres, algorithme de Knuth
    Par Jackyzgood dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 21/10/2010, 20h27
  4. complexité des opérations sur les vector
    Par Gwindor dans le forum SL & STL
    Réponses: 14
    Dernier message: 10/07/2008, 19h37
  5. [2.0] Comment réaliser des opérations sur les ensembles ?
    Par Cereal123 dans le forum Framework .NET
    Réponses: 2
    Dernier message: 23/10/2006, 13h01

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