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 :

Phrase palindrome


Sujet :

Pascal

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Phrase palindrome
    Bonjour,

    svp je cherche une solution pour un exercice qui affiche si une phrase est tous palindromes, c'est-à-dire tous les mots qui la composent sont des palindromes.

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 414
    Points
    59 414
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Pour que l'on puisse t'aider, poste ce que tu as fait et explique ce qui te bloque.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    Bonjour ,
    j’ai voulu réaliser ce programme mais je bloque au niveau du test de la chaine
    Voici le code :

    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
    program ph;
    uses wincrt;
    var
    phrase,c:string;
    i,j:integer;
    test:boolean;
     
    function palindrom (mot:string):boolean;
     var ch1:string;
     begin
     ch1:='';
     for i:=length(mot) downto 1 do
     ch1:=ch1+mot[i];
     if ch1=mot then palindrom:= true
                    else palindrom:=false;
     
     end;
    begin
      writeln('donner une phrase');readln(phrase);
      i:=1;
      repeat
        i:=i+1;
        if phrase[i]='' then
         c:='';
         for j:=1 to i-1 do
         c:=c+phrase[j];
         test:=palindrom(c);
         j:=i+1 ;
     
      until (test=false)or(i=length(phrase));
     
      if test = false then writeln('cette phrase n''est pas palindrome')
                     else writeln('cette phrase est palindrome');
    end.
    A bientôt

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 414
    Points
    59 414
    Billets dans le blog
    2
    Par défaut
    Il manque des initialisations dans le programme principal et il ne faut pas oublier le dernier tes lorsque la fin de la phrase est atteinte.
    La boucle pourrait donner quelque chose comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      i := 0;
      c := '';
      test := true;
      repeat
        i := i + 1;
        if (phrase[i] = ' ') or (i > length(phrase))
           then   (* Coupure de mot détectée ou fin de phrase *)
             begin
               test := palindrom(c);
               c := '';
             end
           else
             c := c + phrase[i];
      until (test = false) or (i > length(phrase));
    Attention à une erreur conceptuelle dans la fonction palindrom : tu y utilises la variable globale i ! Il faut toujours considérer une fonction comme un bloc autosuffisant, qui utilise les paramètres qui lui sont transmis et des variables locales. Ton code est d'ailleurs un bel exemple où la variable globale est modifiée dans la fonction, ce qui met la pagaille dans le traitement ultérieur dans le programme principal.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    Merci bien pour l'explication

Discussions similaires

  1. [Dev-Pascal] Déterminer si une phrase est un palindrome
    Par gilldas dans le forum Autres IDE
    Réponses: 2
    Dernier message: 10/06/2012, 10h38
  2. Comment je peux changer nom de 'Table' avec la phrase sql
    Par YEK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2004, 08h38
  3. [langage] [RegExp] Récupérer une portion de phrase
    Par GLDavid dans le forum Langage
    Réponses: 4
    Dernier message: 27/08/2004, 22h01
  4. Phrase et mot exacte
    Par Tigris94 dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/07/2004, 10h24
  5. Extraction des phrases d'un Texte
    Par LE CHAKAL dans le forum Langage
    Réponses: 6
    Dernier message: 19/08/2002, 21h23

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