Bonjour tout le monde, pourrez vous m'aider dans cette exercice. Je ne comprend vraiment Python. À répondre le plus rapidement svp... a. Que renvoie pg_div(25,1
Question
a. Que renvoie pg_div(25,15) ?
b. Que renvoie pg_div(48,32) ?
c. En utilisant cette fonction, écrire un programme en Python qui demande à l'utilisateur le numérateur n et le dénominateur p d'une fraction positive (n et p sont deux nombres entiers naturels,p non nul) et qui affiche la forme irréductible de cette fraction.
Cliquer sur la photo pour voir le Programme.
1 Réponse
-
1. Réponse Thomas756
Bonjour,
a)
pg_div(25, 15) => a = 25 et b = 15
d = 1
Tant que d est différent de 0:
d = 1 #On entre dans la boucle
d = a - b = 25 - 15 = 10
Si d < b: 10 < 15: Vrai, on entre dans le bloc
a = b = 15
b = d = 10
d = 10 #On reste dans la boucle
d = a - b = 15 - 10 = 5
Si 5 < 10: Vrai
a = b = 10
b = d = 5
d = 5 #On reste dans la boucle
d = a - b = 10 - 5 = 5
Si 5 < 5: Faux, on rentre dans le "Esle" = Sinon
a = d = 5
d = 5 #On reste dans la boucle
d = a - b = 5 - 5 = 0
Si 0 < 5: Vrai
a = b = 5
b = d = 0
Fin du Tant que car d = 0
Retourne la valeur de a donc 5
pg_div(25, 15) renvoie 5.
b)
De la même façon, on trouve pg_div(48, 32) renvoie 16.
En fait, pg_div(a, b) renvoie le plus grand diviseur commun entre a et b.
25/15 = (5 x 5) / (5 x 3) = 5/3
48/32 = (16 x 3) / (16 x 2) = 3/2
On obtient les fractions irréductibles.
c)
n = int(input("Numérateur = "))
p = int(inpu("Dénominateur = "))
pg = pg_div(n, p) #On récupère le plus grand diviseur commun.
print("{}/{}".format(n//pg, p//pg)) #On utilise // pour faire des divisions entières.
Bonne journée.