Classiques en Informatique
Classiques en Informatique
Classiques en Informatique
1. Quel est le plus grand entier non 8. Factorielle d’un entier n >= 0 (version
signé, que l’on peut coder sur n bits? itérative)
Avec n bits, on peut coder les entier naturel de 0 à
1 def Factorielle ( n ):
2n − 1 Donc le plus grand nombre entier est 2n − 1 2 P =1
3 for i in range (2 , n +1) :
2. Quel est le plus grand entier posi-
4 P = P * i
tif avec bit de signe, avec bit de
5 return P
signe que l’on peut coder sur n bits?
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 9. Factorielle d’un entier n >= 0 (version
récursive)
3. Somme des éléments d’une liste (Accès par in-
dice) 1 def Fact ( n ):
2 if n ==1 or n ==0:
1 def Somme ( L ): 3 return 1
2 S =0 4 return ( n )* Fact (n -1)
3 n = len ( L )
4 for i in range ( n ):
n!
5 S = S + L[i] 10. Coefficient binomial Cnp = p!(n−p)!
6 return S
1 def Binom (p , n ):
2 if not (0 <= p <= n ):
4. Somme des éléments d’une liste (Accès par 3 return 0
valeur) 4 return Fact ( n )//( Fact ( p )* Fact (n - p ))
1 def Somme ( L ):
2 S =0 11. Savoir si un entier n est un nombre premier ou
3 for x in L : non
4 S = S + x
5 return S 1 def estPremier ( n ):
2 for i in range (2 , n //2+1):
3 if n % i ==0:
5. Somme des diviseurs d’un entier n > 0 4 return False
1 def SommeDiviseurs ( n ): 5 return True
2 S =0
3 for i in range (1 , n +1):
12. Représentation binaire d’un entier naturel n
4 if n % i == 0:
sous forme d’une chaine
5 S = S + i
6 return S 1 def Binaire ( n ):
2 C=""
6. Moyenne des éléments d’une liste 3 while n !=0:
4 C = str ( n %2) + C
1 def Moy ( L ): 5 n = n //2
2 S = 0 6 return C
3 n = len ( L )
4 for x in L :
5 S = S + x 13. Représentation binaire d’un entier naturel n
6 return S / n sous forme d’une liste
1 def Binaire ( n ):
7. Valeur max des éléments d’une liste 2 C =[]
3 while n !=0:
1 def Max ( L ): 4 C . append ( str ( n %2))
2 m = L [0] 5 n = n //2
3 for x in L : 6 return C
4 if m < x :
5 m = x
6 return m 14. Différence de deux vecteurs représentés par
deux listes de même taille
Programmation Python 1 fouadnafis@gmail.com - 06.75.38.39.48
Fouad NAFIS Filière : MP/PSI/TSI
24. Le schéma d’Euler implicite est défini par : yn+1 = yn + h ∗ f (tn+1 , yn+1 )
1 from scipy . optimize import fsolve
2 def eulerImplicite (f ,a ,b ,n , y0 , t0 ):
3 h ,Y , T = (b - a )/ n ,[ y0 ] ,[ t0 ]
4 for i in range (n -1):
5 T . append ( T [ i ]+ h )
6 y = fsolve ( lambda x : - x + Y [ i ]+ h * f ( T [ i +1] , x ) , Y [ i ])
7 Y . append ( y )
8 return T , Y