Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
981 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  Algorithme Palindromique!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Algorithme Palindromique!!

n°1239560
harlem
Posté le 06-11-2005 à 03:10:06  profilanswer
 

Voila je voulais savoir si cette algo est correct?
L'utilisateur doit saisir un mot ou une phrase, et on souhaite savoir si ce mot ou cette phrase est un palindrome,
On doit changer tout les lettres en majuscules, et supprimer tout les autres cararectere (ponctuation espace..).
 
Voila l'algo :  
 
ALGORITHLME PLAINDROME
 
 
 
 
DECLARATION DES VARIABLES
 
Variable  Type    definition
 
Chaine   Chaine de caractere  / phrase ou mot  
Tabchaine[40]             Tableau de caractere  /tableau des caractere de la variable chaine
Nbchaine               Entier    /Nombre de caractère de la variable chaine
I   Entier    /
J   Entier    /
K   Entier    /
Test   Boolean    
 
 
DEBUT
 
Afficher (« Saisir la phrase ou le mot (pas de minuscule accentuées) »)
Saisir      (Chaine)
 
NbchaineLen(chaine)
 
I1
J0
Repeter
JJ+1
 // Recuperation de chaque caractere de la variable chaine dans un tableau
 Tabchaine[I]Mid(chaine, J, 1)
//Suppression de tous caracteres autres que les majuscules et minuscules
SI Asc(Tabchaine[I]) >64 et Asc(Tabchaine[I]) <91  
OU Asc(Tabchaine[I])>96 et Asc(Tabchaine[I])<123 Alors
II+1
Fin Si
 
Jusqu'à J=Nbchaine
 
Pour K de 1 à I
 
//Convertion des minuscules en majuscules
SI Asc(Tabchaine[K])>90 Alors
Asc(Tabchaine[K]) Asc(Tabchaine[K])-32
 
Fin pour
 
K1
Repeter
//Verification
Si Tabchaine[K]=Tabchaine[I]
Alors Test=Vrai
Sinon Test=faux
Fin si
KK+1
II-1
 
Jusqu’à K=I ou K=I-1  ou Test=Faux
 
Si Test=Vrai
Alors Afficher « Bravo, ce mot ou cette phrase est un palindrome »
Sinon Afficher « Désolé, ce mot/cette phrase n’est pas un palindrome »
Fin si
 
FIN


Message édité par harlem le 06-11-2005 à 17:30:35
mood
Publicité
Posté le 06-11-2005 à 03:10:06  profilanswer
 

n°1239561
harlem
Posté le 06-11-2005 à 03:12:02  profilanswer
 

Heu, un petit probleme , je vois que les signes d'affectation n'ont pas été correctement retranscrit. :??:  donc les carrés reprsentes les signes d'affectation . ;)

n°1239563
Chronoklaz​m
Posté le 06-11-2005 à 03:27:10  profilanswer
 

T'as fait la trace de ton algo ?


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°1239593
harlem
Posté le 06-11-2005 à 11:41:13  profilanswer
 

La trace à la main? pas très crédible!
 
Non, en faite j'ai plus envie de le programmer en langage  visual basic pour voir si ça fonctionne.
 
pour cela je voulais savoir quelle est la syntaxe de ces fonction en visual basix??
 
-Len()
-Mid()
- et Asc()

Message cité 1 fois
Message édité par harlem le 06-11-2005 à 11:41:52
n°1239594
harlem
Posté le 06-11-2005 à 11:42:41  profilanswer
 

Mais si vous pensez que ça marche, confirmez le moi please. :)

n°1239637
masklinn
í dag viðrar vel til loftárása
Posté le 06-11-2005 à 13:12:28  profilanswer
 

harlem a écrit :

La trace à la main? pas très crédible!


C'est pourtant comme ça qu'on vérifie un algo quand on en est pas sûr, on le déroule à la main [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1239709
harlem
Posté le 06-11-2005 à 15:25:06  profilanswer
 

Pour faire la trace j'aimerai deja savoir si les fonctions que j'ai utilisé sont bonnes, sinon je prefere le tester en vb (ou en C) , alors quelles sont les equivalents des fonctions:  
 
-Len() >>renvoie le nombre de caractères d’une chaîne  
-Mid() >>renvoie un extrait de la chaîne, commençant au caractère n1 et faisant n2 caractères de long.
- et Asc() >>renvoie le caractère correspondant à un code Ascii donné  
 
 
Voila je dois le rendre demain, et j'aimerai tout simplement verifier, la fiabilité de l'algo  :(  

n°1239767
harlem
Posté le 06-11-2005 à 17:27:57  profilanswer
 

Un peu de recherche s'imposait, puisque personne n'avait la réponse (?)  :o  
j'ai l'ai transporté en vb et ça marche :  
 
Dim chaine          As String
Dim Tabchaine(40)   As String
Dim Nbchaine        As Integer
Dim I               As Integer
Dim J               As Integer
Dim k               As Integer
Dim test            As Boolean
 
'Debut du programme
 
chaine = InputBox("Saisir la phrase ou le mot (pas de minuscule accentuées)" )
Nbchaine = Len(chaine)
 
 
I = 0
J = 0
 
Do Until J = Nbchaine
J = J + 1
 
'Recuperation de chaque caractere de la variable chaine dans un tabelau
 
Tabchaine(I) = Mid(chaine, J, 1)
 
'Suppression de tous caracteres autres que les majuscules et minuscules
 
If Asc(Tabchaine(I)) > 64 And Asc(Tabchaine(I)) < 91 Or Asc(Tabchaine(I)) > 96 And Asc(Tabchaine(I)) < 123 Then
I = I + 1
End If
 
 
Loop
I = I - 1
MsgBox ("I vaut " & I)
 
 
For k = 0 To I
 
'Convertion des minuscules en majuscules
 
If Asc(Tabchaine(k)) > 90 Then
inter = Asc(Tabchaine(k)) - 32
Tabchaine(k) = Chr(inter)
 
End If
Next
 
k = 0
For k = 0 To I
MsgBox Tabchaine(k)
Next
 
 
k = 0
test = True
Do Until k = I Or k = I - 1 Or test = False
 
'Verification
 
If Tabchaine(k) = Tabchaine(I) Then
 
test = True
Else
 
test = False
End If
 
k = k + 1
I = I - 1
Loop
 
If test = True Then
MsgBox ("Brravo, ce mot(ou cette phrase) est un palindrome" )
Else
MsgBox ("Désolé, ce mot (ou cette phrase) n'est pas un palindrome" )
End If
 
End Sub
 
 :kaola:  :kaola:  :kaola:  :kaola:


Message édité par harlem le 06-11-2005 à 17:29:45

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  Algorithme Palindromique!!

 

Sujets relatifs
L'algorithme de choix d'un conteneur STLCherche cours algorithme
Algorithme Java/ Struts.algorithme
[Algorithme] Stockage film sur DVDRecherche algorithme de recherche.
algorithme de subdivision k-D-B treeAlgorithme nombres premiers
Algorithme du tri en Cconvertir un algorithme en c
Plus de sujets relatifs à : Algorithme Palindromique!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR