Vous êtes sur la page 1sur 6

Niveau

: 2ème Sciences Pensée computationnelle et programmation

Série d’exercices : Les chaînes de caractère


(avec correction)
Exercice 1 :
Ecrire un programme en Python qui permet d’afficher le nombre de voyelles
Voy et le nombre de consonnes Con d’un texte Ch donné.
Noter Bien : Le programme ne fait pas de distinction entre caractère
alphabétique majuscule et caractère alphabétique minuscule.
1. Ecrire l’algorithme correspondant
2. Traduire cet algorithme en langage python
3. Modifier le programme afin d’afficher le nombre de caractères
spéciaux
Algorithme :
Algorithme Voyelle_Consonne
début
ecrire(" donner une chaine=")
lire(ch)
nbc←0
nbv←0
ch ← Majus(ch)
pour i de 1 à Long(ch) faire
si ch[i] dans "AEIOYU " alors
nbv=nbv+1
sinon si ch[i] dans "BCDFGHJKLMNPQRSTVWXZ" faire
nbc=nbc+1
fin si
fin pour
Ecrire("Dans la chaine ",ch," il y a ",nbc," consonnes")
Ecrire("Dans la chaine ",ch," il y a ",nbv," voyelles")
fin

TDO (Tableau de déclaration des objets)
Objet Type
ch Chaine de caractère
i, nbc, nbv entier

    Enseignante : Mme Wafa AMMAR


Niveau : 2ème Sciences Pensée computationnelle et programmation

Traduction en Pyhton :
ch=input("donner une chaine de caractère= ")
nbc=0
nbv=0
ch1=ch.upper()
for c in ch1:
if c in "AEIOYU":
nbv=nbv+1
elif c in "BCDFGHJKLMNPQRSTVWXZ" :
nbc=nbc+1
print("Dans la chaine ",ch," il y a ",nbc," consonnes")
print("Dans la chaine ",ch," il y a ",nbv," voyelles")

Exercice 2 :
Ecrire un programme en Python qui demande à l’utilisateur de saisir un mot
et de lui renvoyer son inverse.
Exemple: informatique → euqitamrofni
Algorithme :
Algorithme Voyelle_Consonne
début
ecrire(" donner une chaine=")
lire(ch)
ch2←" "
pour i de 1 à Long(ch) faire
ch2 = ch[i] + ch2 #on ajoute la lettre en premier
fin pour
Ecrire ("l inverse de ",ch1, "est ",ch2)
fin
TDO (Tableau de déclaration des objets)
Objet Type
ch, ch2 Chaine de caractère
i entier

Traduction en python
ch1 = input("donner une chaine de caractere=") #chaine a inversée
ch2 = "" #chaine inversée
for lettre in ch1:
    Enseignante : Mme Wafa AMMAR
Niveau : 2ème Sciences Pensée computationnelle et programmation

ch2 = lettre + ch2 #on ajoute la lettre en premier


print ("l inverse de ",ch1, "est ",ch2)

Exercice 3 :
Un palindrome est un mot dont l’ordre des lettres reste le même si on le lit
de gauche à droite ou de droite à gauche.
Exemple : ‘laval’ , ‘radar’, ‘sos’ … sont des palindromes.
Ecrire un algorithme puis sa traduction en python d’un programme qui
demande à l’utilisateur de saisir un mot et de lui renvoyer s’il s’agit d’un
palindrome ou non.
Traduction en Pyhton :
s= input("donner une chaine=")
inv= s[::-1]
if s==inv:
print(s, "est une chaine palindrome")
else:
print(s, "est une chaine et non palindrome")

Exercice 4 :
Soit Ch une chaine de caractère de longueur maximale égale à 30 caractères.
La chaine Ch contient un espace. Cet espace se trouve entre deux caractères
de la chaine Ch. On désire faire des transformations sur la chaîne Ch comme
suit :
‐ Permuter les deux caractères qui encadrent l’espace de la chaine Ch
‐ Convertir en majuscule le premier caractère et le caractère qui suit le
caractère espace de la chaîne ch.
Exemple : Ch= ‟abcde jklmn″
Ch devint ‟Abcdj Eklmn″
1‐ Ecrire l’algorithme correspondant :
2‐ Traduire cet algorithme en python
Algorithme :
Algorithme permutation
début
ecrire(" donner une chaine=")
lire(ch)
p←Pos(" ",ch)

    Enseignante : Mme Wafa AMMAR


Niveau : 2ème Sciences Pensée computationnelle et programmation

ch1← Sous_Chaine(ch,1,p-1)
ch2← Sous_Chaine(ch,p+2,long(ch))

c1← ch[p-1]
c2← ch[p+1]
ch1←Concat(ch1, c2)
ch2← Concat(c1,ch2)
ch3← Concat(ch1.capiatalize( ), " ", ch2.capitalize( ))
Ecrire ("Le résultat= ",ch3)
fin
Traduction en Python :
ch=input("donner une chaine=")

p=ch.find(" ")

ch1=ch[:p-1]
ch2=ch[p+2:]
c1=ch[p-1]
c2=ch[p+1]

ch1=ch1+c2
ch2=c1+ch2

ch3=ch1.capitalize()+' '+ch2.capitalize()
print(ch3)

Exercice 5 :
Ecrire un programme intitulé « concaténation » qui permet de saisir la chaîne
nom et prénom d’un élève séparé par un seul espace puis de l’afficher sous la
forme prénom et nom.
Exemple : Ch= ‟nom prénom″
Ch devint ‟prénom nom″
1. Ecrire l’algorithme correspondant
2. Traduire cet algorithme en python
Algorithme :
Algorithme concaténation
début
écrire(" donner votre nom et prénom=")
lire(ch)
    Enseignante : Mme Wafa AMMAR
Niveau : 2ème Sciences Pensée computationnelle et programmation

p←Pos(" ",ch)
ch1← Sous_Chaine(ch,1,p)
ch2← Sous_Chaine(ch,p+1,long(ch))

ch3← Concat(ch1, " ", ch2)


Ecrire ("Le résultat= ",ch3)
fin
Traduction en Python :
ch=input("donner votre nom et prénom=")
p=ch.find(" ")
ch1=ch[:p]
ch2=ch[p+1:]
ch3=ch2+" "+ch1
print("le résultat=",ch3)

Exercice 6:
Ecrire un programme en python qui permet de renvoyer le premier mot d’un
texte donné.
Exemple : pour le texte t="python est un langage de programmation"
Le programme doit renvoyer le mot "python"
Pyhton : 1ère méthode :
s= input("donner une chaine=")
p=s.index(" ")
print("le premier mot est:", s[:p])
2ème méthode :
s= "je suis informaticien"
premierM=""
i=0
while s[i]!=" ":
premierM=premierM+s[i]
i=i+1
print("le premier mot est:", premierM)

Exercice 7:
Ecrire un programme en python qui remplace les voyelles d'un
texte (éventuellement accentuées) par une étoile.

    Enseignante : Mme Wafa AMMAR


Niveau : 2ème Sciences Pensée computationnelle et programmation

Par exemple : « Il etait une fois » deviendra « *l *t**t *n* f**s ».


Programme Python :
ch=input("donner une chaine de caractère= ")
ch1=ch.upper()
for i in range(len(ch1)):
if ch1[i] in "AEIOYU":
ch=ch[:i]+"*"+ch[i+1:]
print("Le résultat= ",ch)

    Enseignante : Mme Wafa AMMAR