Académique Documents
Professionnel Documents
Culture Documents
1. Quel est le plus grand entier non 7. Valeur max des éléments d’une liste
signé, que l’on peut coder sur n bits?
1 def Max (L):
Avec n bits, on peut coder les entier naturel de 0 à
2 m = L[0]
2n − 1 Donc le plus grand nombre entier est 2n − 1 3 for x in L :
2. Quel est le plus grand entier 4 if m < x:
positif avec bit de signe, avec bit de 5 m = x
signe que l’on peut coder sur n bits? 6 return m
Avec n bits, on peut coder les entiers relatifs de −2n−1
à 2n−1 − 1 le plus grand entier positif donc est 2n−1 − 1 8. Créer une fonction renvoyant la ma-
3. Somme des éléments d’une liste (Accès trice nulle de taille n × m
par indice)
1 def Zeros (n, m):
2 return [[0 for i in range(m)] for j
1 def Somme (L):
,→ in range(n)]
2 S=0
3 #Ou
3 n=len(L)
4 def Zeros (n, m):
4 for i in range(n):
5 M=[]
5 S = S + L[i]
6 for i in range(n):
6 return S
7 L=[]
8 for j in range(m):
4. Somme des éléments d’une liste 9 L.append(0)
(Accès par valeur) 10 M.append(L)
11 #Ou bien avec numpy
1 def Somme (L): 12 import numpy as np
2 S=0 13 def Zeros (n, m):
3 for x in L : 14 return np.zeros((n,m))
4 S = S + x
5 return S
9. Créer une fonction renvoyant une ma-
trice de taille n × m dont les valeurs dont
5. Somme des diviseurs d’un entier n > 0 toutes égales à 1
1 def SommeDiviseurs (n): 1 def Ones (n, m):
2 S=0 2 return [[1 for i in range(m)] for j
3 for i in range(1,n+1): ,→ in range(n)]
4 if n % i == 0: 3 #Ou
5 S = S + i 4 def Ones (n, m):
6 return S 5 M=[]
6 for i in range(n):
6. Moyenne des éléments d’une liste 7 L=[]
8 for j in range(m):
1 def Moy (L): 9 L.append(1)
2 S = 0 10 M.append(L)
3 n = len(L) 11 #Ou bien avec numpy
4 for x in L : 12 import numpy as np
5 S = S + x 13 def Ones (n, m):
6 return S / n 14 return np.ones((n,m))
13. Factorielle d’un entier n >= 0 (ver- 19. Produit scalaire de deux vecteurs
sion récursive) représentés par deux listes de même taille
1 #Si la fonction min est autorisée 39. Insérer une nouvelle valeur dans une
2 def Selection(L): liste triée
3 n=len(L)
1 def Inserer(L, x):
4 for i in range(n-1):
2 n=len(L)
5 m = min(L[i:]) # le min de la
3 if x > L[-1]:
,→ position i a la fin de L
4 p=n
6 j=L.index(m)
5 else:
7 L[i], L[j] = L[j], L[i]
6 for i in range(n):
8 return L #supprimer cette ligne si
7 if L[i] < x:
,→ la fonction trie ne doit rien
8 p=i
,→ renvoyer
9 break
10 L.insert(p,x)
36. Tri par insertion
TEL : 0675383948 4 fouadnafis@gmail.com
Fouad NAFIS Filières : MP-PSI-TSI
40. Valeur maximale d’un arbre binaire temps linéaire en sa taille.
de recherche
1 def MaxAbr(L): 1 def miroir(L):
2 if L[2]==[]: 2 M = []
3 return L[0] 3 for x in L:
4 return MaxAbr(L[2]) 4 M = [x] + M
5 return M
41. Calculer le miroir d’une liste en