Précédent   Forum du club des développeurs et IT Pro > Autres langages > Pascal > Autres IDE
Autres IDE Les autres environnements de développement (PP Compiler, ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 09/06/2012, 21h24   #1
gilldas
Invité de passage
 
Homme
Étudiant
Inscription : juin 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2012
Messages : 2
Points : 0
Points : 0
Par défaut Déterminer si une phrase est un palindrome

Bonjour,
Suite à de petit problème de santé, je n'ai pu suivre certain cour. Et malheureusement pour moi, nous avons reçu comme travail de fin d'étude un programme a faire. Mais je suis bloquer comme vous pouvez le voir : au moment où je dois comparer le 1er caractère avec le 2ème et ensuite dire si oui ou non le mot ou la phrase est un palindrôme. HELP ME

PROGRAMME:

Code :
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
program ProjetPalindrome;
 
var phraseA : string;           //Variable A
    phraseB : string;           //Variable B
    phraseC : string;           //Variable C
    phraseD : string;           //Variable D
    i : integer;                //Variable de contrôle
    phraseE : string;
 
begin
     //Lecture phrase de départ
     write('Entrer la phrase : ');
     readln(phraseA);
 
     //Convertion en majuscule
     phraseB := UpCase(phraseA);
 
     //Conversion en mot sans accents avec le code ascii
     phraseC:='';
     for i:=1 to length(phraseB) do
     begin
        case ord(phraseB[i]) of
          130,138,136,137,144,210,211,212 : begin
                               phraseC := phraseC + 'E';
                            end;
          135 : begin
                               phraseC := phraseC + 'C';
                            end;
          139,140,214,215,216: begin
                               phraseC := phraseC + 'I';
                            end;
          131,132,133,134,142,181,182,183 : begin
                               phraseC := phraseC + 'A';
                            end;
          129,150,151,154,163,233,234,235 : begin
                               phraseC := phraseC + 'U';
                            end;
          147,148,149,153,162,224,226,227 : begin
                               phraseC := phraseC + 'O';
                            end;
          152,236,237 : begin
                               phraseC := phraseC + 'Y';
                            end;
        else
           phraseC := phraseC + phraseB [i];
        end;
     end;
 
     //Ne garde que les lettres si situant entre A et Z, plus d'espace
     phraseD :='';
     for i:=1 to length (phraseB) do
         if (phraseC[i]>='A') and (phraseC[i]<='Z') then
            phraseD := phraseD + phraseC[i];
 
     writeln(phraseD);
 
     //Inverse les lettres de la fin au début
     phraseE :='';
     for i:= length (phraseD) downto 1 do
     phraseE:= phraseE + phraseD[i];
 
     readln;
end.
gilldas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2012, 23h17   #2
Roland Chastain
Membre Expert
 
Homme Roland Chastain
Inscription : décembre 2011
Messages : 732
Détails du profil
Informations personnelles :
Nom : Homme Roland Chastain
Âge : 39
Localisation : Mali

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : décembre 2011
Messages : 732
Points : 1 381
Points : 1 381
Tu as fait le plus difficile. Qu'est-ce qui t'arrête ?

Quelque chose me dit que tu auras résolu le problème de toi-même lorsque tu liras ce message. Autrement je crois que tu as bien mérité un petit coup de pouce.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
     //Inverse les lettres de la fin au début
     phraseE :='';
     for i:= length (phraseD) downto 1 do
     phraseE:= phraseE + phraseD[i];
 
     // affichage des résultats
     // pour détecter une éventuelle erreur
     writeln('Phrase A :', phraseA);
     writeln('Phrase B :', phraseB);
     writeln('Phrase C :', phraseC);
     writeln('Phrase D :', phraseD);
     writeln('Phrase E :', phraseE);
 
     // conclusion
     writeln('Palindrome, oui ou non ?');
     if phraseE = phraseD then
       writeln('Oui.')
     else
       writeln('Non.');
 
     readln;
end.
__________________
L'Art est long et le Temps est court.
Roland Chastain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2012, 10h38   #3
gilldas
Invité de passage
 
Homme
Étudiant
Inscription : juin 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2012
Messages : 2
Points : 0
Points : 0
Par défaut Merci beaucoup

Bonjour,
Je te remercie pour cette réponse rapide et tellement correct que j'en pleure en se moment. Un grand merci Roland pour cette aide d'une valeur incroyable, alors encore une fois merci
gilldas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h39.


 
 
 
 
Partenaires

Hébergement Web