Vous êtes sur la page 1sur 2

Université de Tunis A.

U :2020/2021
Institut Préparatoire aux Etudes d’Ingénieurs de Tunis

DS Informatique N°2
Classes: 1ère Année MP & PC
Durée: 1 heure Documents non autorisés

N. B. : Les exercices sont indépendants

Exercice 1
Quel est le résultat affiché lors de l’exécution des programmes Python suivants ?

1. def test1(L):
for i in L :
i.pop()
L=([[1,2,[3,4]], ['toto'], ['t', True]])) L= [[1,2,[3,4]], ['toto'], ['t', True]]
test1(L)
print(L)

2. def test2():
global x
v=v+x
v,x=10,3
return(x,v)
x,v=0,0
test2()
print(x,v)

3. def test3(x):
global v
v=v+x
v=10
v=4
test3(3)
print(v)

4. def test4(L, elem):


i=0
while (i < len(L)):
if (L[i] == elem) :
L.pop(i)
else:
i += 1
L=[10, 20, 30]
test(L,20) test4(L,20)
print(L)

DS Informatique N°2 (MP & PC) - Avril 2021 Page 1/2


Exercice 2:
Soit le programme python suivant :
def mystere(ch, c1, c2):
if not(c1 in ch):
return (ch)
elif ch[0]==c1:
return (c2+mystere(ch[1:], c1, c2))
else:
return (ch[0]+mystere(ch[1:], c1, c2))

print(mystere('ipeit','i','a'))

1- Donner la trace d’exécution du programme précédent et expliquer brièvement le


rôle de la fonction mystere.
2- Proposer une version itérative de la fonction mystere.

Exercice 3

Dans cet exercice, on souhaite manipuler des chaines de caractères.


Ecrire en Python :

1- la fonction ListMo(ch) qui à partir d’une phrase ch(chaine de caractère), crée et


retourne la liste des mots qui la composent. Les mots de la phrase sont séparés
soit par ‘ ‘, par ‘,’ ou par ‘ ;’.

2- la fonction récursive Carré(m) qui vérifie si un mot m est carré ou non. Un mot
est dit carré s’il est de la forme SS où S est une chaine.
Exemple : ‘papa’, ‘boubou’ sont des mots carrés.

3- la fonction Affiche_carré(ch) qui permet de déterminer et afficher tous les mots


carrés de la chaine ch.

DS Informatique N°2 (MP & PC) - Avril 2021 Page 2/2

Vous aimerez peut-être aussi