1. Rappel de la méthode. 2. Remarque. 3. Conséquence : 4. Cas

C L A S S E D E S E C O N D E
A C T I V I T É S A L G O R I T H M I Q U E .
A L G O B O X
Classe de 2
nde
Algobox : décomposition d’un entier en produit de facteurs premiers.
www.maths-learning.fr
1
D E C O M P O S I T I O N D U N E N T I E R E N P R O D U I T D E
F A C T E U R S P R E M I E R S .
Par exemple on veut décomposer 126 en produit de facteurs premiers.
1. Rappel de la méthode.
1 2 6 2
6 3 3
2 1 3
7 7
1
Donc :
1 2 1
126 2 3 7
= × ×
2. Remarque.
Chacun des diviseurs précédents (2, 3 et 7) sont des nombres premiers et ce sont les seuls qui nous intéressent
ici.
Il est évident qu’il y a d’autres diviseurs de 126 : 6, 14, 18,……, 63 mais ces diviseurs ne sont pas premiers !
Remarquons que
63 126 2
= ÷
et donc qu’il n’y a pas d’autres diviseurs de 126 entre 63 et 126.
La recherche des diviseurs premiers de 126 se fera entre 2 et 63.
3. Conséquence :
La recherche des diviseurs premiers d’un nombre entier n se fera entre 2 et
2
n
, ou la partie entière de
2
n
lorsque
n n’est pas pair (la commande Algobox pour obtenir la partie entière de
2
n
est floor (
2
n
)
)
Exemple : si n = 247, alors
247 2 123,5
dont la partie entière est 123.
Les diviseurs premiers de 247 se chercheront donc entre 2 et 123.
4. Cas général.
4.1 Comment ne mettre en évidence que les diviseurs premiers ?
On commence par diviser par 2 (si le nombre est pair) et on continue de diviser par 2 tant que le nombre obtenu
est pair (le reste est 0)
Ensuite on passe au nombre suivant qui est 3, et on opère de la même façon : on divise par 3 tant que la division
par 3 a pour reste 0 (la commande Algobox correspondante est (n%3 = = 0))
4.2 Et les diviseurs suivants ?
Le diviseur suivant ne sera pas 4 car
2
4 2
=
et que toutes les divisions par 2 ont déjà été effectuées.
Le diviseur suivant sera donc 5, qui est premier.
Et ainsi de suite jusqu’à la partie entière de
2
n
. (
floor (
2
n
)
)
4.3
Présentation du résultat.
Il suffira de demander de faire le prod
de fois que chacun d’eux est apparu.
5.
Algorithme avec A
5.1
Déclaration de la variable
n
EST_DU_TYPE_NOMBRE
diviseur
EST_DU_TYPE_NOMBRE
nbfacteurs
EST_DU_TYPE_NOMB
a
EST_DU_TYPE_NOMBRE
puissance
EST_DU_TYPE_NO
MBR
5.2 Début de l’algorithme.
Demander à lire
n
Puis afficher sa valeur et affi
Indiquer que
a
prend la valeu
Indiquer que
nbfacteurs
Maintenant il nous faut ind
iquer que l
On va donc utiliser l’onglet POUR
….
diviseur
va de 2 à la partie
Comprenons ce qui va se passer :
Si le reste de la division de
a
par
div
ici) est un des facteurs recherché.
Alors dans ce cas :
nbfacteurs
(qui vaut initialement 0
puissance
va prendre la valeur 1 (pu
a
prend la valeur
a / diviseur
On obtient quelque chose comme ceci
Ceci étant :
TANT_QUE
le reste de la d
diviseur
, ce qui augmente de 1 la v
Quant à
a
, il va prendre à chaque fois
ultat.
e produit des diviseurs premiers affectés de l’exposant corre
paru.
vec Algobox.
riable.
E
BRE
RE
et afficher le message «
= »
a valeur
n
.
prend la valeur 0 (c’est normal on n’a encore fait au
r que l’on va tester les diviseurs allant de 2 à
2
n
….
partie entière de
2
n
(revoir la commande si besoin).
iviseur
(on commence ici par 2) est égal à 0, c’est que
ent 0), prend la valeur
nbfacteurs
+ 1
r 1 (puisque l’on
en est au premier facteur qui a cette valeur
e ceci (à compléter)
de la division par
diviseur
est nul, c’est que
le nombre se
1 la valeur de la
puissance
à chaque fois.
e fois la valeur
a / diviseur
Remarque :
La valeur de
n
sera affichée à
l’algorithme, et sa valeur init
être protégée.
Ainsi on utilise la variable
a
d’abord la valeur de n initiale
valeur va varier au cours de
l’algorithme.
2
t correspondant au nombre
fait aucun calcul)
st que
diviseur
(donc 2
valeur de diviseur)
re se divise encore par ce
chée à la fin de
ur initiale doit
a
qui prendra
initiale et dont la
rs de
C L A S S E D E S E C O N D E
Classe de 2
nde
Algobox
: décomposition d’un entier en pro
On
va donc utiliser l’onglet TANT_Q
comme cela :
Il est temps maintenant de préparer la
On introduit une condition sur le nom
S’il est supérieur à 1, chacun des facte
correspondant au nombre d’apparition
Ainsi, en dessous de
FIN_TANT_QUE
Cela donnera ceci :
En dessous de DEBUT_SI, on affiche
En dessous de FIN_SI on affichera
:
diviseur
« ^ »
puissance
Puis
il nous faut envisager le cas où il
Dans ce cas on affichera
n
, tout simpl
Et cela termine notre algorithme.
Voir le corrigé dans le fichier Algo
bo
A C T I V I T É S
A L
en produit de facteurs premiers.
ww
NT_QUE et y indiquer toutes ces contr
aintes. Cela donnera
arer la présentation du résultat.
e nombre de facteurs.
s facteurs correspond à un diviseur de
n
élevé à une
p
uiss
aritions de ce diviseur)
E
on introduit
SI (nbfacteurs > 1) ALORS
ffichera le massage «
* »
:
s où il n’y a pas de facteurs (parce que n est un nombre prem
simplement.
box
: facteurs_premiers.
A L G O R I T H M I Q U E
.
A L G O B O X
www.maths
-learning.fr
3
nnera quelque chose
sance
(cette puissance
e premier
!)
1 / 3 100%

1. Rappel de la méthode. 2. Remarque. 3. Conséquence : 4. Cas

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !