Académique Documents
Professionnel Documents
Culture Documents
contrôle N°2
Classe :4 Si ( Trimestre 2 ) Matière : Programmation
<< Créer sur le bureau ,un dossier portant votre nom_prenom pour enregistrer votre travail >>
Page 1 sur 3
CORRECTION
Exercice N°1
from numpy import array def affich(n,t):
#------------------------------------------------- for i in range(n):
def saisie(): if verif(t[i]):
arret=True print(t[i]," est divisible par 13")
while arret: def verif(x):
n=int(input("entrer la taille du tableau= ")) while not(10<=x<=99):
if (2<=n<=20): u=x%10
arret=False x=(x//10) + (4*u)
return n return x%13==0
def remplir(n,t): #-----------------PP--------------------------------
for i in range(n): n=saisie()
t[i]=int(input("t["+str(i)+"]=")) t=array([0]*n)
while t[i]<100: remplir(n,t)
t[i]=int(input("t["+str(i)+"]=")) affich(n,t)
Exercice N°2
from numpy import array def PGCD(x,y):
#---------------------------------------------------- while (x != y):
def saisie(): if x>y:
arret=True x=x-y
while arret: else:
n=int(input()) y=y-x
if (2<=n<=20): return x
arret=False def affich(t1,t2,l,c):
return n for i in range(l):
def distinct(x): for j in range(c):
i=-1 if PGCD(t1[i,j],t2[i,j])==1:
ch=str(x) print("(",t1[i,j],",",t2[i,j],")")
arret=True #-----------------PP--------------------------------
while arret: print("nombre de lignes= ")
i+=1 l=saisie()
ok=ch[(i+1):].find(ch[i]) print("nombre de colonnes= ")
if (ok!=-1) or (i==len(ch)-1): c=saisie()
arret=False print("remplir 1ére matrice ")
return ok t1=array([[0]*c]*l)
def remplir(t,l,c): remplir(t1,l,c)
for i in range(l): print("remplir 2eme matrice ")
for j in range(c): t2=array([[0]*c]*l)
t[i,j]=int(input("t["+str(i)+","+str(j)+"]= ")) remplir(t2,l,c)
while not(t[i,j]>0 and distinct(t[i,j])==-1): print("affichage des fractions irreductible")
t[i,j]=int(input("t["+str(i)+","+str(j)+"]= affich(t1,t2,l,c)
"))
Exercice N°3
def saisie_n(): def saisie_k():
arret=True arret=True
while arret: while arret:
n=int(input("entrer la taille du 1er fichier: ")) k=int(input("entrer le nombre de terme: "))
if (2<=n): if (5<=k):
arret=False arret=False
return n return k
#-------------------------------------------------- #---------------------------------------------------
def remplir_d(f,n): def calcul(a):
for i in range(n): return ((a*a*a)+1)/3
x=float(input("entrer le réel numéro "+str(i+1)+":"))
dump(x,f)
f.close()
Page 2 sur 3
def remplir_t(f,n,s,k): #-----------------PP-------------------------------
f=open("term0.dat","rb") from pickle import *
for i in range(n): n=saisie_n()
x=load(f) f=open("term0.dat","wb")
ch=str(x) remplir_d(f,n)
for j in range(k): k=saisie_k()
x=round(calcul(x),3) s=open("suite.txt","w")
ch=ch+" / "+str(x) remplir_t(f,n,s,k)
s.write(ch+"\n") affich(s,n)
s.close()
f.close()
#---------------------------------------------------
def affich(s,n):
s=open("suite.txt","r")
for i in range(n):
ch=s.readline()
print(ch)
s.close()
Page 3 sur 3