Les Maths en Seconde

L'essentiel pour réussir!

Nombres et calculs

Exercice 6

On considère le programme suivant, écrit dans le langage PYTHON.
fig3

1. Faire fonctionner ce programme si la valeur saisie est 20.
Détailler bien les valeurs successives prises par les variables.

2. A quoi sert ce programme pour une valeur de l'entier naturel n quelconque.

3. Ecrire ce programme et le faire fonctionner pour n=1960.
Que s'affiche-t-il alors dans la console?
Que cela signifie-t-il?


Solution...
Corrigé

On considère le programme suivant, écrit dans le langage PYTHON.
fig3
1. Fonctionnement du programme si la valeur saisie est 20.
Le programme commence à la ligne 11. Les lignes précédentes permettent seulement de définir la fonction diviseurs.
Il s'affiche: "recherche des facteurs premiers d'un nombre"
ligne 12: n prend donc la valeur 20
ligne 13: la fonction diviseurs est appelée.
Le programme saute à la ligne 2
L=[1]
div=2
Comme n>1 (car n=20), la première boucle while commence
(cette boucle est composée des lignes 5 à 8)
Comme 20 est divisible par 2, la première boucle imbriquée while commence.
(cette boucle est composée des lignes 6 à 7)
L=[1,2]  (la valeur 2 a été ajoutée au bout de la liste L)
n=20/2=10
Comme 10 est divisible par 2, la seconde boucle imbriquée while commence.
L=[1,2,2]  (la valeur 2 a été ajoutée au bout de la liste L)
n=10/2=5
Comme 5 n'est pas divisible par 2, les boucles imbriquées while cessent.
div=2+1=3
Comme n>1 (car n=5), la seconde boucle while commence
Comme 5 n'est pas divisible par 3, il n'y a pas de boucle imbriquée while.
div=3+1=4
Comme n>1 (car n=5), la troisième boucle while commence
Comme 5 n'est pas divisible par 4, il n'y a pas de boucle imbriquée while.
div=4+1=5
Comme n>1 (car n=5), la quatrième boucle while commence
Comme 5 est divisible par 5, une première boucle imbriquée while commence.
L=[1,2,2,5]  (la valeur 5 a été ajoutée au bout de la liste L)
n=5/5=1
Cette fois-ci, on n'a plus n>1 (car n=1)
Les boucles cessent.
Il s'affiche: "la liste des facteurs premiers de 20 est: [1,2,2,5]"

En fait, le programme a décomposé 20 de façon progressive comme ci-dessous.
20 est divisible par 2, d'où: $20=2×10$
10 est divisible par 2, d'où: $20=2×2×5$
Comme 5 n'est pas divisible par 2, on teste pour les diviseurs suivants.
5 n'est pas divisible par 3.
5 n'est pas divisible par 4 (ce qui est normal car il ne l'est pas par 2)
5 est divisible par 5, d'où: $20=2×2×5×1$
Et comme le dernier diviseur est 1, on arrête.


2. Ce programme affiche la liste des facteurs premiers de l'entier naturel n.

3. Pour n=1960, il s'affiche finalement:
la liste des facteurs premiers de 1960 est: [1, 2, 2, 2, 5, 7, 7]
Cela signifie que 1960 se décompose en produit de facteurs premiers de la façon suivante:
$1960=1×2^3×5×7^2$

Réduire...

Copyright 2016 - maths-2de.com - Toute reproduction interdite - Tous droits réservés.