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

Pascal Discussion :

[Débutante] Extraire un mot d'une chaîne


Sujet :

Pascal

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 14
    Points
    14
    Par défaut [Débutante] Extraire un mot d'une chaîne
    Bonjour,
    SVP je veux savoir comment ecrire un algorithme pour extraire un mot d'une chaine de caractère afin de le comparer avec un autre mot donné? je suis debutante en pascal.
    merci d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut
    Hola
    donne nous déjà ce que tu as fais ,sinon pour ton exercice copy sera utile.
    Visite la F.A.Q. si tu veux encore de l'aide
    http://pascal.developpez.com/faq/?pa...-de-caracteres

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Je crois avoir vu un post du meme genre il y'a quelque jour.
    Le mieux c' est de faire une recherche sur le forum avant d' exposer son probleme.

  4. #4
    Membre régulier Avatar de Transgarp
    Profil pro
    Inscrit en
    Février 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2008
    Messages : 99
    Points : 76
    Points
    76
    Par défaut
    J'ajouterais la fonction Pos en tandem avec la procédure Copy pour son travail

  5. #5
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    ça sera simpa si tu lui montrais toutes les fonction et procedure de la bibliotheque.
    Donner des fonction ça et là ne sert vraiment à rien du moment où la personne ne sais pas ce qu' elle doit faire.
    Le mieux c' est de lui demander où est qu' il bloque, ce qu' il a dejà fait pour qu' on puisse critiquer et essayer d' ajouter quelque chose.

  6. #6
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 337
    Points
    2 337
    Par défaut
    Mais la doc du compilateur permet de savoir à quoi & comment servent les fonctions citées.
    Donc, il suffit de chercher & de réfléchir un peu.

    Sinon, il y a toujours moyen de poser des questions plus précises.
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  7. #7
    Membre régulier Avatar de Transgarp
    Profil pro
    Inscrit en
    Février 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2008
    Messages : 99
    Points : 76
    Points
    76
    Par défaut
    C'est dans le même sens que ALT que je proposais les commandes Copy et Pos

    Ce n'est peux-être pas le cas de tout le monde, mais autrefois j'avais des livres de références des commandes quand j'achetais des logiciels de Borland.

    J'ai gardé les plus récents de Borland pour BP7, C++, Prolog, Quattro Pro, Turbo Basic, TP5

    Alors quand une commande m'est inconnue, je fouille dans mes livres de référence pour comprendre l'utilisation exacte par le texte et l'exemple accompagnant la commande. Et souvent je débloque sur des solutions intéressantes.

    Si je ne trouve pas l'information nécessaire dans les livres, je me rends au Help du logiciel.

    Si je ne trouve pas plus, je viens sur ce forum, surtout pour des problèmes inexistant en 1992, genre XP, ordi 32 bits, port prototype ne fonctionnant plus

  8. #8
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    ça sera simpa si tu lui montrais toutes les fonction et procedure de la bibliotheque.
    Donner des fonction ça et là ne sert vraiment à rien du moment où la personne ne sais pas ce qu' elle doit faire.
    Le mieux c' est de lui demander où est qu' il bloque, ce qu' il a dejà fait pour qu' on puisse critiquer et essayer d' ajouter quelque chose.
    +1 sur darrylsite
    Je crois avant d'aller plus loin et pour aide plus efficacement l'auteur de la discusson il faudrait qu'il nous dises la ou il en est:niveau algo fini ou pas,Pascal probleme ou pas,etc

    Citation Envoyé par biba13
    Bonjour,
    SVP je veux savoir comment ecrire un algorithme pour extraire un mot d'une chaine de caractère afin de le comparer avec un autre mot donné? je suis debutante en pascal.
    merci d'avance.
    Faudrait savoir s'il est toujours à ce niveau ou s'il à avancé

    Cordialement
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    volia mon travail :
    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
     
    procedure occ_mot(ch:string;var mot:char);
    var i,j,cpt:integer;
        m: string;
    begin
     i:=1;
     cpt:=0;
     j:=1;
     m:= copy (ch,j,i);
     while ord(m)<> 32  do
      begin
        if m=mot then begin
          cpt:=cpt +1;
          j:=j+1;
          end
        else
          i:=i+1;
      end;
    end;
    mais quand j'essaye de compiler il maffiche :error:type mismatch au niveau de la
    9ème ligne ;je c pas pkoi ça marche pas avec ORD?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 29
    Points
    29
    Par défaut
    essaye d'editer ton message et de le mettre dans des balise ["code"] ton code ["/code"] sans guillemet

    car la c'est vraiment illisible...

    Heureusement que ton code n'est pas long mais prend cette habitude...

    Je reinstall dev-pascal et regarde ca...

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 29
    Points
    29
    Par défaut
    Merci de ton editage...

    Voila j'ai reinstaller, mais vite trouver l'erreur...

    elle vien en faite que la fonction ord() renvoi l'ordinal d'un caractère..
    or ton copy (==> m) est un string;

    Cependant vu qu'il fera toujours qu'un seul caractère...

    tu peut remplacer ton ord(m) par ord(m[1]) ce qui prend le premier caractère de ta chaine a savoir le seul...

    Bien a toi...

    En espérant avoir pu t'aider si oui, n'oublie pas de mettre le sujet en résolu...

    A++

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    j'ai modifié mon program mais ça marche toujours pas

    je sais que le probleme est au niveau de la boucle :" if (ord(m[j]))<> 32 then " mais comment le corriger ?? je suis vraiment nulle!

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    program exo93;
    uses crt;
    var ph: string;
        pmot:string;
     
    function occ_mot(ch:string;var mot:string):integer;
    var i,j,cpt:integer;
       m: string;
    begin
     i:=1;
     cpt:=0;
     j:=1;
     m:= copy (ch,j,i);
     if (ord(m[j]))<> 32  then
      begin
        if m=mot then begin
          cpt:=cpt +1;
          j:=i+1;
          end
        else
          i:=i+1;
      end
      else
      j:=j+1;
      occ_mot:=cpt;
    end;
     
    BEGIN
     writeln ('donner la phrase ');
     readln(ph);
     writeln('donner le mot que vous vouler comparer');
     readln( pmot);
     writeln(' le nobre d occurences du mot ',pmot,'est: ',occ_mot(ph,pmot));
     readln;
    end.
    Fichiers attachés Fichiers attachés

  13. #13
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 337
    Points
    2 337
    Par défaut
    Normal :
    dans la fonction occ_mot, il n'y a extraction que du premier caractère de la chaîne ch (la phrase), que tu essayes de comparer avec le premier caractère de mot (le mot à trouver).
    Aussitôt fait, tu sors.

    Bref, tu ne trouveras jamais ton mot, à moins qu'il ne fasse qu'une lettre.
    Et pourtant, même dans ce cas ça ne fonctionne pas !

    Revois ton algorithme, puis essaye de coder.
    Si tu fais le contraire, tu arriveras presque toujours à ce résultat. D'ailleurs, à quoi sert j ?

    Bon courage.
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

Discussions similaires

  1. Extraire un mot d'une chaîne de caractères
    Par persé dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 13/06/2013, 10h20
  2. [À télécharger] Comment extraire les mots d'une chaîne ?
    Par pottiez dans le forum Téléchargez
    Réponses: 0
    Dernier message: 09/11/2010, 18h38
  3. Extraire le dernier mot d'une chaîne en bash
    Par oranoutan dans le forum Linux
    Réponses: 2
    Dernier message: 16/05/2010, 23h47
  4. Suppression de mots dans une chaîne
    Par psychomatt dans le forum Langage
    Réponses: 7
    Dernier message: 06/08/2004, 16h34
  5. Comptage de mots dans une chaîne
    Par kikinou dans le forum Pascal
    Réponses: 10
    Dernier message: 01/01/2003, 03h27

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