Chaînes

Palindrome d’une chaîne

Énoncé

Saisir une chaîne non vide et tester si elle est identique dans les deux sens. Les espaces, accents et majuscules comptent : "Radar" n’est pas un palindrome dans cet exercice.

Exemples et cas limites

Saisissez ces valeurs dans la console pour vérifier votre résultat :

Pour une chaîne, ne tapez pas les guillemets. Pour "", validez une saisie vide.

Entrée
Chaîne = "radar"
Sortie attendue
Vrai
Entrée
Chaîne = "Radar"
Sortie attendue
Faux
Entrée
Chaîne = ""
Chaîne = "a"
Sortie attendue
Vrai

Code algorithmique

palindrome_chaine.algo
1algorithme palindrome_chaine
2debut
3 repeter
4 ecrire("Chaîne = ")
5 lire(ch)
6 jusqua long(ch) > 0
7 // compléter le traitement demandé dans l’énoncé.
8fin

Méthode

  1. Comparer les caractères aux deux extrémités.
  2. Rapprocher les deux indices tant que les caractères sont égaux.
À retenir :

Les indices commencent à 0. Redemander une chaîne vide. Une chaîne d’un seul caractère est un palindrome.

Comprendre la correction

Déroulement sur un exemple

  1. Pour ch = "radar", les indices 0 et 4 contiennent tous les deux "r".
  2. On rapproche les indices : ch[1] et ch[3] valent "a". Les indices se rejoignent ensuite au centre.
  3. Aucune différence n’a été trouvée : le résultat est Vrai. Pour "Radar", la première comparaison "R" = "r" est fausse.

Erreurs à éviter

  • Le dernier indice est LONG(ch) − 1, pas LONG(ch).
  • Cet exercice distingue majuscules et minuscules. MAJUS changerait la règle demandée.
Consulter le guide de syntaxe algorithmique