TP5 Les Fonctions: Exercice 1
TP5 Les Fonctions: Exercice 1
TP5 Les Fonctions: Exercice 1
python
Exercice 1
1) Écrire une fonction Python listAleaInt(n, a, b) qui retourne une liste de n entiers aléatoires dans
[a .. b] en utilisant la fonction randint(a, b) du module random.
2) Dans le programme principal :
a. Construire une liste en appelant la fonction listAleaInt() ;
b. Déterminer l'index de la case qui contient le minimum ;
c. Echangez le premier élément du tableau avec son minimum.
Exercice 2
1) Ecrire une fonction Python appelé differences(L) qui prend en entré une liste L, de
réels, et qui retourne la liste M des différences successives des nombres de la liste L.
2) Ecrire une fonction Python itere(L ,n) qui prend en entrée une liste L et un entier naturel
n et qui retourne le nième itéré de la fonction differences appliquée à L.
Exercice 3
On suppose qu’on dispose d’un texte constitué d’une longue chaine de caractères sans les
symboles de ponctuation.
Ecrire une fonction Python text_to_index(txt) prenant en entrée un texte txt et renvoyant un
dictionnaire indexé par les mots du texte et dont les valeurs sont les listes d’occurrences
correspondantes.
Exemple : txt : « ceci est un texte un exemple de texte », on doit obtenir le dictionnaire
suivant :
{ceci :[0],est : [1], un : [2 ,4], texte : [3,7], exemple : [5], de : [6]}
1/4
TP5 : Les fonctions
Exercice 4
Un polynôme de degré n de la forme a0+a1X+a2X2+a3X3+……..+anXn où an est non nul.
Les réels a0, a1,….. ,an sont les coefficients du polynôme. Le terme de degré K est akXk.
L’exposant du terme de degré le plus élevé donne le degré du polynôme (le coefficient de
ce terme est non nul)
Nous proposants de stocker un polynôme dans une liste contenant les coefficients en
ordre croissant des exposants : [a0 ,a1, …….,an]
Une liste représentant un polynôme doit contenir au moins une valeur, éventuellement
nulle (exemple : [0])
Exemple : print(polyaddition([1,2,5],[3,4]))
#3+4X^2+2X^4
Exercice 5
Un programme principal saisit une chaîne d'ADN valide et une séquence d'ADN valide
(valide signifie qu'elles ne sont pas vides et sont formées exclusivement d'une combinaison
arbitraire de "a", "t", "g" ou "c").
2/4
TP5 : Les fonctions
1) Écrire une fonction valide qui renvoie vrai si la saisie est valide, faux sinon.
2) Écrire une fonction saisie qui effectue une saisie valide et renvoie la valeur saisie sous
forme d'une chaîne de caractères.
3) Écrire une fonction proportion qui reçoit deux arguments, la chaîne et la séquence et qui
retourne la proportion de séquence dans la chaîne (c'est-à-dire son nombre
d'occurrences).
4) Ecrire le programme principal qui appelle la fonction saisie pour la chaîne et pour la
séquence et affiche le résultat.
Exemple : d'affichage :
Chaine : attgcaatggtggtacatg
Séquence : ca
Il y a 2 ˝ca˝ dans votre chaine.
Exercice 6
Pour vérifier si une chaine de caractères est bien parenthésé ; c’est-à-dire qu’elle possédé
autant de parenthèses ouvrantes que de parenthèses fermantes et ceci dans le bon ordre, on
utilise une pile
N.B on désigne par le terme « parenthèse », une parenthèse, un crochet ou une accolade.
L’analyse de la chaine de caractères se fera caractère après caractère. On utilisera une pile
contenant les parenthèses ouvrantes.
Toute parenthèse fermante rencontrée doit être associée dans la pile à la parenthèse (qui doit
donc exister) ouvrante de même nature située au sommet de la pile.
Le caractère n’est pas une parenthèse : dans ce cas, on ne fait rien et on traite
l’éventuel caractère suivant.
Le caractère est une parenthèse ouvrante : dans ce cas, la parenthèse ouvrante est
empilée dans la pile.
• Que le sommet de la pile est une parenthèse ouvrante de même nature que la
parenthèse fermante rencontrée
3/4
TP5 : Les fonctions
A la fin du parcours, il faut que la pile soit vide pour dire que l’expression est bien
parenthésée.
1) Ecrire une fonction parouverte (c) qui retourne True si « c » est une parenthèse ouverte et
False sinon
2) Ecrire une fonction parfermee(c) qui retourne True si « c » est une parenthèse fermante et
False sinon
3) Ecrire une fonction Parassocie(p) qui retourne pour une parenthèse fermante « p » la
parenthèse ouvrante qui lui est associé
4) Ecrire une fonction verifpar(c) qui affiche un message signalant si une chaine de
caractères est bien parenthésée
NB : pour les traitements des piles on demande d’utiliser les fonctions suivantes :
4/4