Exercice 4
- Créer une classe Calcul ayant un constructeur par défaut (sans paramètres) permettant d’effectuer différents calculs sur les nombres entiers.
- Créer au sein de la classe Calcul une méthode nommée Factorielle() qui permet de calculer le factorielle d'un entier. Tester la méthode en faisant une instanciation sur la classe.
- Créer au sein de la classe Calcul une méthode nommée Somme() permettant de calculer la somme des n premiers entiers: 1 + 2 + 3 + .. + n. Tester la méthode.
- Créer au sein de la classe Calcul une méthode nommée testPrim() permettant de tester la primalité d'un entier donné. Tester la méthode.
- Créer au sein de la classe Calcul une méthode nommée testPrims() permettant de tester si deux nombres sont premier entre eux.
- Créer une méthode tableMult() qui crée et affiche la table de multiplication d'un entier donné. Créer ensuite une méthode allTablesMult() permettant d'afficher toutes les tables de multiplications des entiers 1, 2, 3, ..., 9.
- Créer une méthode listDiv() qui récupère tous les diviseurs d'un entier donné sur une liste Ldiv. Créer une autre méthode listDivPrim() qui récupère tous les diviseurs premiers d'un entier donné
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
#coding: utf-8 class Calcul: def __init__(self): pass #---Factorielle ------------ def factorielle(self, n): j=1 for i in range(1,n+1): j = j*i return j #---Somme des n premiers nombres---- def somme(self, n): j=1 for i in range(1,n+1): j = j+i return j #---Test primalité d'un nombre------------ def testPrim(self, n): j=0 for i in range(1,n+1): if(n%i==0): j = j + 1 if(j == 2): return True else: return False # ---Test primalité de deux nombres entiers------------ def testprims(self , n , m): divCommun = 0 for i in range(1 , n+1): if (n%i == 0 and m%i == 0): divCommun = divCommun + 1 if divCommun == 1: print("Les nombres " , n , " et ", m , " sont premiers entre eux") else: print("Les nombres " , n , " et ", m , " ne sont pas premiers entre eux") #---Table de multiplication------------- def tableMult(self,k): for i in range(1,10): print(i," x ",k," = ",i*k) #---Toutes les tables de multiplication des nombres 1, 2, .., 9 def toutesLesTables(self): for k in range(1,10): print("\nla table de multiplication de : ",k, " est : ") for i in range(1,10): print(i," x ",k," = ",i*k) #----- liste des diviseurs d'un entier def listDiv(self , n): # initialisation de la liste des diviseurs lDiv = [] for i in range(1 , n+1): if ( n%i == 0): lDiv.append(i) return lDiv # ------liste des diviseurs premiers d'un entier---------------- def listDivPrim(self , n): # initialisation de la liste des diviseurs lDiv = [] for i in range(1 , n+1): if ( n%i == 0 and self.testPrim(i)): lDiv.append(i) return lDiv # Exemple Instanciation Cal = Calcul() Cal.testprims(13 , 7) print("Liste des diviseurs de 18 : ", Cal.listDiv(18)) print("Liste des diviseurs premiers de 18 : ", Cal.listDivPrim(18)) Cal.toutesLesTables() |
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 4. Classe Calcul arithmétique”