Vous êtes sur la page 1sur 2

CPGE Salmane Al Farissi MPSI-1TSI INFORMATIQUE

TD/TP : Les listes

Exercice 1

1. Écrire une fonction nbOccurrences (L, x) qui prend un nombre x et une liste L et
renvoie le nombre de fois que l’entier x apparaît dans la liste L.

2. Écrire une fonction grands(L, x) qui reçoit en paramètres une liste de nombres L, et
un élément x de L. La fonction renvoie le nombre d’éléments de L qui sont supérieurs
strictement à x

3. Écrire une fonction sansDoublons( T ) qui retourne True si la liste d’entiers T est sans
doublons (c’est à dire sans apparition multiple d’un élément), ou False sinon.

4. Écrire une fonction union(l1, l2) qui prend deux listes d’entiers en entrée et renvoie
une liste contenant les éléments communs aux deux listes, sans répétition.

5. Écrire une fonction difference(l1, l2) qui prend deux listes en entrée et renvoie une liste
contenant les éléments présents dans la première liste mais absents de la deuxième liste.

6. Écrire une fonction liste_premiers(n) qui prend un entier positif en entrée et renvoie
une liste de tous les nombres premiers inférieurs ou égaux à cet entier.
Par exemple liste_premiers(20) renvoie [2, 3, 5, 7, 11, 13, 17, 19]

7. Écrire une fonction diviseurs(n) qui prend en paramètre un entier n et qui retourne
une liste contenant tous les diviseurs de n.

Exercice 2

1. Écrire une fonction procedureScalaire(t, k) où t est une liste de nombres et k un


nombre, qui remplace dans chaque case i de la liste t, t[i] par k × t[i].

2. Écrire une fonction scalaire(t, k) où t est une liste de nombres et k un nombre, qui
retourne une liste de même taille que la liste t et telle que pour chaque case i de la
liste on a s[i] = k × t[i].

Exercice 3
On se donne une liste L de mesures périodiques de températures : Chaque température
est mesurée toutes les 2 heures de la journée à partir de 0h, ce qui fournit une liste de 12
nombres entiers.
Par exemple, la liste [−2, −4, −5, −4, 8, −1, 1, 0, 12, 19, 8, −2] indique que la première mesure
est de −2 degrés à 0h, la seconde de −4 degrés à 2h, la suivante de −5 degrés à 4h, etc.

1. Écrire une fonction NbPositives(L) retournant le nombre de températures strictement


positives. Sur la liste précédente, la fonction doit retourner 5.

2. Écrire une fonction HeuresPositives(L) retournant la liste des heures où la température


est strictement positive. Sur l’exemple précédent, la fonction doit retourner [8, 12, 16,
18, 20].

3. Réécrire la fonction NbPositives(L) en utilisant la fonction HeuresPositives(L).

1
CPGE Salmane Al Farissi MPSI-1TSI INFORMATIQUE

On s’intéresse aux périodes de temps où la température est strictement positive. Pour cela,
on définit la notion de bloc dans L comme une sous-liste L[i : j] composée uniquement de
températures > 0, et de longueur maximale (c’est-à-dire que soit i est nul, soit L[i − 1] ≤ 0,
et symétriquement soit j vaut len( L), soit L[ j] ≤ 0).

Dans l’exemple, L contient 3 blocs : L[4 : 5], L[6 : 7], et L[8 : 11].

4. Écrire une fonction NbBloc(L) retournant le nombre de blocs dans L.

5. Écrire une fonction PlusLongBloc(L) retournant la durée (en heures) de la période la


plus longue durant laquelle on n’a observé que des températures strictement positives.
Dans l’exemple, PlusLongBloc(L) vaut 4 (période de 16h à 20h).

Exercice 4
En Python, une matrice peut être représentée comme une liste de listes. Chaque liste interne
représente une ligne de la matrice.
 
5 2 3
Par exemple, la matrice A =  4 9 6  peut être présentée en Python sous la forme suiv-
11 8 10
ante :A = [[5, 2, 3],[4, 9, 6],[11, 8, 10]].

Pour accéder à un élément spécifique, on utilise l’index de la ligne suivi de l’index de


la colonne. Par exemple, A[0][1] donne le deuxième élément de la première ligne.

1. Écrire une fonction InitialiserMat(n, m, val) qui permet d’initialiser une matrice de n
lignes et m colonnes avec la valeur val.

2. Écrire une fonction saisir(n, m) qui permet de saisir les valeurs d’une matrice M de n
lignes et m colonnes, avec des éléments de type entier

3. Écrire une fonction somme_elements(mat) qui calcule la somme de tous les éléments
de la matrice mat.

4. Écrire une fonction somme(mat1, mat2) qui prend en entrée deux matrices de même
taille et retourne leur somme.

5. Écrire une fonction transposee(mat) qui prend en entrée une matrice et retourne sa
transposée.

6. Écrire la fonction permuterColonne(A, a, b) qui permute deux colonnes de la matrice


données par leurs indices.
Écrire la fonction permuterLigne(A, l, k) qui permute deux lignes de la matrice don-
nées par leurs indices.

Vous aimerez peut-être aussi