2nde ou TS Spé - AEFE Proche

publicité
2nde ou TS Spé
S.J (inspiré de B. Parisse)
Sommes de diviseurs et nombres parfaits
Le but de ce problème est de créer deux algorithmes qui permettent de dire si un nombre est parfait ou pas
Un nombre entier naturel est parfait s’il est égal à la somme de ses diviseurs sauf lui-même
1ère partie : Vers la somme des diviseurs
Quelle est l’instruction qui donne le reste de la division d’un entier n par un entier j ? _______________
Quel test doit on faire pour savoir si un nombre j est diviseur de n ? __________________________
Si on note s la variable locale qui donnera la somme des diviseurs de n tout au long de l’algorithme, que doit-on
lui faire subir dès qu’on trouve un nouveau diviseur j de n ? _____________________________
Pour trouver tous les diviseurs de n autres que lui-même, quelles valeurs de j doit-on tester ? ________________
Pouvez-vous écrire un algorithme donnant la somme des diviseurs autre que lui-même d’un entier naturel n ?
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
Pouvez vous le traduire en langage Xcas en appelant la fonction : Sommediviseurs(n) puis tester –le après avoir
tapé ALT P
Sommediviseurs(n) :={
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
_________________________________________________________________________________________
2ème partie : Nombre parfait ?
On aimerait que le programme nous dise si un nombre entier naturel donné est ou n’est pas parfait par l’écriture
des mots vrai ou faux à la sortie du programme
Compléter donc le programme suivant puis tester - le
Parfait (n ) := {
si Sommediviseurs (n) == n
alors _______________________
___________________________
____________________________
____________________________
8 est-il parfait ? ______ Vérifier-le ___________________________________________________________
28 est-il parfait ? _____Vérifier-le ____________________________________________________________
496 est-il parfait ? ____________________________________
2nde ou TS Spé
S.J (inspiré de B. Parisse)
Sommes de diviseurs et nombres parfaits
Le but de ce problème est de créer deux algorithmes qui permettent de dire si un nombre est parfait ou pas
Un nombre entier naturel est parfait s’il est égal à la somme de ses diviseurs sauf lui-même
1ère partie : Vers la somme des diviseurs
Quelle est l’instruction qui donne le reste de la division d’un entier n par un entier j ? irem(n , j)
Quel test doit on faire pour savoir si un nombre j est diviseur de n ? si le reste précédent est nul
Si on note s la variable locale qui donnera la somme des diviseurs de n tout au long de l’algorithme, que doit-on
lui faire subir dès qu’on trouve un nouveau diviseur j de n ? on doit lui additionner ce nouveau diviseur j
Pour trouver tous les diviseurs de n autres que lui-même, quelles valeurs de j doit-on tester ? de 1 à n-1
Pouvez-vous écrire un algorithme donnant la somme des diviseurs autre que lui-même d’un entier naturel n ?
Variable globale : entier n
Variables locales : entiers naturels j, s et r
Donner n
Mettre 0 dans s
Pour j de 1 à n-1 faire
Si reste(n, j) = 0
Alors mettre s+j dans s
Fin du si
Fin du pour
Ecrire s
Pouvez vous le traduire en langage Xcas en appelant la fonction : Sommediviseurs(n) puis tester –le après avoir
tapé ALT P
Sommediviseurs(n) := {
local j,s,r ;
s :=0 ;
pour j de 1 jusque n-1 faire
r := irem(n , j) ;
si r = 0
alors s := s + j ;
fsi ;
fpour ;
retourne s ;
}
2ème partie : Nombre parfait ?
On aimerait que le programme nous dise si un nombre entier naturel donné est ou n’est pas parfait par l’écriture
des mots vrai ou faux à la sortie du programme
Compléter donc le programme suivant puis tester - le
Pour le prof
Parfait(n) :={
On peut aussi écrire
si Sommediviseurs(n) == n
Parfait(n) := Sommediviseurs (n)==n ;
alors retourne vrai;
sinon retourne faux ;
Qui donne 1 ou 0 selon que le nombre
fsi} :;
est parfait ou pas
8 est-il parfait ? Non Vérifier-le 1 + 2 + 4 = 7  8
28 est-il parfait ? Oui Vérifier-le 1 + 2 + 7 + 4 + 14 = 28
496 est-il parfait ? Oui
Téléchargement