# TODO #### Exercice 2 - Logique de base # Partie 1 # -------- # 1/ # Réciproque de P1: les nombres pairs sont des multiples de 2 # Réciproque de P1: Vraie # Contraposée de P1: Les nombres qui ne sont pas pairs (qui sont donc # impairs), ne sont pas des multiples de 2. # 2/ # Réciproque de P2: les nombres pairs sont des multiples de 4 # Réciproque de P1: Faux. # Contre-exemple: 6 est pair et n'est pas un multiple de 4 # Contraposée de P2: Les nombres qui ne sont pas pairs (qui sont donc # impairs), ne sont pas des multiples de 4. # Partie 2 # -------- # 3/ # L'énoncé est vrai. # La fonction f(x)=2x est une fonction continue strictement # croissante. Pour les antécédents compris dans l'intervalle [4,8], # les images sont dans l'intervalle [8,16]. Ainsi, par exemple, la # valeur M=17 est un majorant. # Négation: (2 solutions possibles) # \not \exists M \in R, \forall x \in I, |f(x)| <= M # \forall M in R, \exists x \in I, |f(x)| > M # 4/ L'énoncé est faux. # Contre-exemple: f(x)x^2 est une fonction continue strictement # croissante. Si les antécédents sont dans l'intervalle [3,6], les # images sont toutes dans l'intervalle [9,36]. Ainsi, en prenant # par exemple M=42, cette valeur de M n'est pas atteignable dans # l'intervalle des images [9,36]. # Négation: (2 solutions possibles) # \exists y \in R, \not \exists x \in I, f(x)=y # \exists y \in R, \forall x \in I, f(x) != y #### Exercice sur les images ##Question 1 def copierCollerQuadrant(img1,img2,x,y,dstx,dsty): l=largeurImage(img1) h=hauteurImage(img1) for i in range (l//2): for j in range (h//2): (r,g,b)=couleurPixel(img1, i+x, j+y) colorierPixel(img2, i+dstx, j+dsty, (r,g,b)) ##Question 2 def mosaique(img1,img2): l=largeurImage(img1) h=hauteurImage(img1) copierCollerQuadrant(img1,img2,0,0,l//2,0) copierCollerQuadrant(img1,img2,l//2,0,l//2,h//2) copierCollerQuadrant(img1,img2,l//2,h//2,0,h//2) copierCollerQuadrant(img1,img2,0,h//2,0,0) ##Question 3 img=ouvrirImage("teapot.png") l=largeurImage(img) h=hauteurImage(img) nouvImg=nouvelleImage(l,h) mosaique(img,nouvImg) afficherImage(nouvImg) ### Exercice sur les lancers de dés from random import * def lancer() -> int: return randrange(1,7) def nbLancers(a: int, b: int) -> int: n = 0 while True: n = n+1 x = lancer() y = lancer() if (x,y) == (a,b) or (x,y) == (b,a): return n # alternative def nbLancers2(a: int, b: int) -> int: n = 1 x = lancer() y = lancer() while (x,y)!=(a,b) and (x,y)!=(b,a): n = n+1 x = lancer() y = lancer() return n #print(nbLancers(3,3)) def moyenneNbLancers(a: int, b: int, n: int) -> float: cpt = 0 for i in range(n): cpt = cpt + nbLancers(a,b) return cpt/n #print(moyenneNbLancers(1,6,1000)) def valeurMaxSomme(s: int): m = 0 somme = 0 while somme < s: x = lancer() somme = somme + x if x>m: m = x return m #print(valeurMaxSomme(6))