info113, TD4 groupes MATH-STIC, MASS-GEO, MASS-PSY Pierre.Hyvernat@univ-savoie.fr 1. chaines de caractères : lettre à lettre... ============================================= Exercice 1 ========== Écrivez une procédure qui prend une chaine de caractères en argument et qui l'affiche caractère à caractère. >>> affiche("Bonjour") - caractère 0 : 'B' - caractère 1 : 'o' - caractère 2 : 'n' - caractère 3 : 'j' - caractère 4 : 'o' - caractère 5 : 'u' - caractère 6 : 'r' Utilisez votre procédure pour écrire le petit programme suivant : - on demande une chaine de caractères à l'utilisateur, - on affiche chaque caractère qu'il a saisi en utilisant la procédure. Exercice 2 ========== Modifiez la procédure de la question précédente pour qu'elle prenne deux arguments : - une chaine de caractères s, - et un booléen ordre. Si le booléen est True, alors on fait comme précédemment. Si le booléen vaut False, alors on affiche la chaine de caractères en commençant par la fin. >>> affiche_bis("Bonjour", False) - caractère 6 : 'r' - caractère 5 : 'u' - caractère 4 : 'o' - caractère 3 : 'j' - caractère 2 : 'n' - caractère 1 : 'o' - caractère 0 : 'B' Exercice 3 ========== Écrivez une fonction qui compte le nombre d'espaces dans une chaine de caractères. Quels sont les arguments de cette fonctions, et quels sont leurs types ? Quel est le type de retour de cette fonction ? Écrivez un petit programme qui teste votre fonction en demandant une chaine de caractères et qui affiche le nombre d'espaces qu'elle contenait. Exercice 4 ========== Modifiez la fonction de la question précédente pour qu'on puisse choisir le caractère que l'on veut compter : - " " pour compter les espaces, - "B" pour compter les "B" majuscules, - etc. Écrivez un petit programme qui teste votre fonction en demandant une chaine de caractères et une chaine de caractères, puis qui affiche le nombre d'occurrences du caractère donné que la chaine contenait. Exercice 5 ========== Écrivez une fonction qui prend une chaine de caractères et renvoie un booléen pour dire si cette chaine est un palindrome : une chaine qui se lit de la même manière dans les deux sens. Par exemple : - "radar", - "non", - "mon nom", - "rats live on no evil star" - "saippuakivikauppias" - etc. Testez votre fonction en écrivant un petit programme qui demande une chaine de caractères et dit s'il s'agit ou non d'un palindrome. Exercice 6 ========== Modifiez la fonction de la question précédente pour qu'elle repère également les palindromes avec des espaces : - "le sel" - "karine alla en irak" - "ni talar bra latin", - etc.