Algorithme PP # Avec les listes Debut def remplir(): remplir(M,L, C) while True : calcul (M, L, C,S,P) l= int(input("L=")) Ecrire ("Somme pairs =", S, " et Produit impairs",P ) c= int(input("C=")) Fin if(3<=l<=20)and (3<=c<=20) : T.D.O.G break objet T/N m = [[int ( )] * 20 for i in range(21)] M Mat for i in range(l) : L,C,P,S entier for j in range(c) : Remplir,Calcul procedure m[i][j]=int(input("M["+str(i)+"]["+ str(j)+ "]=")) T.D.N.T return(m,l,c) Nouveau Type #----------------------------------------------# Mat Tableau de 20 * 20 des entiers def calcul(m,l,c): Procedure remplir( @M :Mat, @L, C : entier ) som=0 Début prod=1 Répéter for i in range(l): Ecrire ("L="), Lire (L) for j in range(C): Ecrire ("C="), Lire (C) if m[i][j]%2==0: Jusqu’à (3≤L≤20 et 3≤C≤20) som = som + m[i][j] Pour i de 0 à n-1 Faire else : Ecrire (" M[ ", i , ",", j, " ]= "), Lire(M[i,j]) prod = prod * m[i][j] Fin pour return(som,prod) Fin #--------PP--------# T.D.O.L M,L,C=remplir() objet T/N s,p=calcul(M,L,C) i,j entier print("Somme pairs =", s, " et Produit impairs", p ) Procédure calcul(M :Mat ;L,C:entier ; # Avec la bibliothèque numpy @som,prod :entier) from numpy import array Début def remplir(): som0 ,prod1 while True : Pour i de 0 à L-1 Faire l= int(input("L=")) Pour j de 0 à C-1 Faire c= int(input("C=")) Si M[i,j] MOD 2 = 0 Alors if(3<=l<=20)and (3<=c<=20) : som som + M[i,j] break Sinon m = array([[int ( )] * 20 for i in range(21)]) prod prod * M[i,j] for i in range(l) : Fin Si for j in range(c) : Fin pour m[i,j]=int(input("M["+str(i)+"]["+ str(j)+ "]=")) Fin pour return(m,l,c) Fin #----------------------------------------------# T.D.O.L def calcul(m,l,c): objet T/N som=0 i,j ,som,prod entier prod=1 for i in range(l): for j in range(C): if m[i,j]%2==0: som = som + m[i,j] else : prod = prod * m[i,j] return(som,prod) #--------PP--------# M,L,C=remplir() s,p=calcul(M,L,C) print("Somme pairs =", s, " et Produit impairs", p )