TP N° 5
Exercice N°1 :
Développer une fonction qui reçoit en paramètre une chaîne de caractères, met cette chaine en
minuscules. (utiliser les méthodes de la classe « String ».
Ecrire une programme principal qui va saisir le prénom de l’usager et va appeler la fonction pour
afficher le résultat sous forme d’un phrase correcte.
Exercice N°2 :
Développer une fonction qui reçoit en paramètre une chaîne de caractères. La fonction affiche dans
une fenêtre d’alerte le nombre « e » que contient cette chaine.
Ecrire une programme principal qui va saisir la chaine et appel la fonction pour afficher le résultat
sous forme d’un phrase correcte.
Exercice N°3 :
Réaliser un programme avec les exigences suivantes :
En entrée on vous donne une chaîne de caractères, en sortie vous devez avoir la même phrase sans le
premier ni le dernier caractère.
removeChar("Ceci est une phrase") "eci est une phras"
Exercice N°4 :
Réaliser une fonction qui reçoit en paramètre une chaine et qui affiche cette chaine inversée.
Exercice N°5 :
Réaliser une fonction qui reçoit en paramètre une phrase et un seul caractère et qui affiche dans une
fenêtre d’alerte la phrase mais sans le caractère indiqué.et qui affiche cette chaine inversée.
Exercice N°6 :
Réaliser une fonction qui reçoit en paramètre une chaine et un nombre qui représente l’indice d’une
lettre contenue dans la chaine. La fonction doit retourner la même chaîne mais sans la lettre à la
position indiquée.
Par exepmle : supprimerCar(‘’bonjour‘’,3) varetourner la chaine ‘’bonour’’
Chalenge N°1 :
Votre patron a décidé d'économiser de l'argent en achetant un logiciel de reconnaissance de
caractères pour numériser d'anciens romans dans votre base de données. Il semble que les mots
soient bien saisis, mais vous remarquez rapidement qu'il y a aussi des nombres dans des endroits
aléatoires dans le texte :
stringClean ('! !') '! !'
stringClean ('123456789') ''
stringClean("(E3at m2e2!!)") "(Eat me!!)"
stringClean("Wh7y can't we3 bu1y the goo0d software3? #cheapskates3") "Why can't we buy the
good software? #cheapskates"
Vos collaborateurs vous demandent une solution pour supprimer tous les nombres. Votre programme
prendra en entrée une chaîne, devra nettoyer tous les caractères numériques, et renverra une chaîne
avec les espacements, caractères et caractères spéciaux ~#$%^&!@*():; "'., tous intacts.
Chalenge N°2 :
Écrivez une fonction qui calcule combien vous devez donner de pourboire en fonction du montant
total de la facture et du service. Vous devez tenir compte des notes suivantes:
• Terrible: 0% • Poor: 5% • Good: 10% • Great: 15% • Excellent: 20%
L’avis sur le service doit être insensible à la casse. Si un avis non reconnu est entré, vous devez
renvoyer "Rating not recognised".
Parce que vous êtes une personne sympathique, vous arrondissez toujours à la valeur supérieure,
quel que soit le service.
calculateTip(20, "ExcellEnt") -> 4 // Excellent service, vous donnez 20% de 20 = 4
calculateTip(26.95, "goOd") -> 3 // Bon service, 10% de 26.95 arrondi à 3
calculateTip(20, "hi") "Rating not recognised"
Chalenge N°3:
Ecrire une fonction accum telle que :
accum("abcd") -> "A-Bb-Ccc-Dddd"
accum("RqaEzty") "R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy"
accum("cwAt") "C-Ww-Aaa-Tttt"
Remarquez les majuscules au début de chacun des blocs, le nombre de lettres croissant et la
séparation avec des tirets.
Chalenge N°4:
Ajoutez une méthode toJadenCase à [Link] qui permettra de mettre en majuscules chaque
première lettre des mots d’une phrase donnée.
"Ceci est une phrase".toJadenCase() -> "Ceci Est Une Phrase"
Chalenge N°5:
On vous donne une chaîne de mots, renvoyez la longueur du ou des mots les plus courts. La chaîne
ne sera jamais vide et vous ne devez pas tenir compte des types de données (nombres, lettres etc.).
findShort("bitcoin take over the world maybe who knows perhaps") -> 3
Chalenge N°6:
On vous donne une chaîne de mots, renvoyez le mot le plus long. S’il y en a plusieurs, prendre le
dernier.
longestWord('a b c d e fgh') "fgh" longestWord('one two three') "three" longestWord('red blue
grey') "grey