Voici enfin un exemple plus compliqué qui permet de mettre en lumière les points 3 et 4. Enoncé : concevoir un alogrithme
qui permette de faire la somme de deux fractions après les avoir réduites au même dénominateur, mais
attention, avec un dénominateur optimisé et pas le simple produit des deux dénominateurs.
Rappelons que plus encore dans cet exemple que les précédents, l’intérêt est plus de décortiquer l’analyse du problème que
d’écrire du code qui sera un peu plus compliqué. Pour les curieux je donne tout de même le code par la suite.
1/ Comprendre du problème posé : un simple exemple permet de fixer les choses : à partir des fractions 14
75 et 7
330
l’algorithme doit effectuer la somme et répondre 343
1650.
2/ "comment le ferais-je à la main ?" conservons l’exemple précédent : et posons la question comment arriverais-je au
résultat 14
75 +7
330 =343
1650.
D’abord je chercherais le plus petit multiple commun des deux dénominateurs (ici 2×3×5×5×11 = 1650).
Ensuite je déterminerais par quel nombre multiplier 75 pour obtenir 1650 c’est 22,puis par quel nombre multiplier 330
pour obtenir 1650 c’est 1650/330 = 5.
Il n’y a plus qu’à faire le calcul : 14
75 +7
330 =14 ×22 + 7 ×5
1650 =343
1650
3/ Difficulté progressive : voici un premier raffinage pour calculer :a
b+c
d
Déterminer de Plus Petit Commun Multiple P P CM de bet d.
Calculer n
b
tel que b×n
b
=P P CM
Calculer n
d
tel que d×n
d
=P P CM
a
b+c
d=a×n
b
+c×n
d
P P CM
4/ Des modules indépendants : évidemment, à ce moment de l’analyse, on ne cherche pas encore à résoudre le problème
(pas si simple) du PPCM ; on verra plus tard ! C’est un module indépendant.
Tout ce qui suit est une illustration du point numéro 3, c’est à dire l’entrée progressive dans la difficulté (raffinages successifs).
En utilisant la division entière DIV qui donne par exemple 9DIV 2 = 4 on pourrait faire le raffinage suivant :
Déterminer de Plus Petit Commun Multiple P P CM de bet d.
n
b
←− P P CM DIV b
n
d
←− P P CM DIV d
a
b+c
d←− a×n
b
+c×n
d
P P CM
Cet algorithme, s’écrit alors :
Variable a, b, c, d, PP CM, nb, nd, NUM, DENO : entier
Début
Entrer b et d
Déterminer de Plus Petit Commun Multiple P P CM de bet d.
n
b
←P P CM DIV b
n
d
←P P CM DIV d
NUM ←a×n
b
+c×n
d
DENO ←P P CM
Ecrire(
′
Le resultat est : ’,NUM,’ / ’,’DENO)
Fin
1