É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
| 1 | algorithme palindrome_chaine |
| 2 | debut |
| 3 | repeter |
| 4 | ecrire("Chaîne = ") |
| 5 | lire(ch) |
| 6 | jusqua long(ch) > 0 |
| 7 | // compléter le traitement demandé dans l’énoncé. |
| 8 | fin |
| 1 | algorithme palindrome_chaine |
| 2 | debut |
| 3 | repeter |
| 4 | ecrire("Chaîne = ") |
| 5 | lire(ch) |
| 6 | jusqua long(ch) > 0 |
| 7 | gauche ← 0 |
| 8 | droite ← long(ch) - 1 |
| 9 | palindrome ← vrai |
| 10 | tant_que gauche < droite et palindrome faire |
| 11 | palindrome ← ch[gauche] = ch[droite] |
| 12 | gauche ← gauche + 1 |
| 13 | droite ← droite - 1 |
| 14 | fin_tant_que |
| 15 | ecrire_nl(palindrome) |
| 16 | fin |
Méthode
- Comparer les caractères aux deux extrémités.
- Rapprocher les deux indices tant que les caractères sont égaux.